列出使用 Python 的 Selenium 中的不同定位器。


下面列出了在 Python 中使用 Selenium 的不同定位器。

  • Id - 通过元素的 id 属性识别元素。如果找不到匹配 id 的元素,则会引发 NoSuchElementException。

语法 -

driver.find_element_by_id("id")
  • Name - 通过元素的 name 属性识别元素。如果找不到匹配 name 的元素,则会引发 NoSuchElementException。

语法 -

driver.find_element_by_name("name")
  • Xpath - 通过属性和标签名识别元素。XPath 有两种类型:绝对路径和相对路径。

语法 -

driver.find_element_by_xpath("//input[@type='type']")
  • CSS - 通过使用 id、class 和 tagName 等属性构建的 CSS 表达式识别元素。如果找不到匹配 CSS 的元素,则会引发 NoSuchElementException。

语法 -

driver.find_element_by_css_selector("#id")
  • Link Text - 通过包含在锚标签中的链接文本识别元素。如果找不到匹配链接文本的元素,则会引发 NoSuchElementException。

语法 -

driver.find_element_by_link_text("Home Link")
  • Partial Link Text - 通过部分匹配包含在锚标签中的链接文本识别元素。如果找不到匹配部分链接文本的元素,则会引发 NoSuchElementException。

语法 -

driver.find_element_by_partial_link_text("Home")
  • Tagname – 通过标签名识别元素。如果元素没有匹配的标签名,则会引发 NoSuchElementException。

语法 -

driver.find_element_by_tag_name("a")
  • Class name - 通过类属性的名称识别元素。如果找不到匹配类名称属性的元素,则会引发 NoSuchElementException。

语法 -

driver.find_element_by_class_name("search")

示例

使用 id 定位器的代码实现。

from selenium import webdriver
#browser exposes an executable file
#Through Selenium test we will invoke the executable file which will then #invoke actual browser
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
# to maximize the browser window
driver.maximize_window()
#get method to launch the URL
driver.get("https://tutorialspoint.com/index.htm")
#to refresh the browser
driver.refresh()
# identifying the edit box with the help of id
driver.find_element_by_id("gsc-i-id1").send_keys("Selenium")
#to close the browser
driver.close()

更新于: 2020-07-29

135 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告