如何在 Selenium 中使用 Python 同时识别多个元素?
selenium web driverautomation testingsoftware testing
在 Selenium 中,我们可以同时定位和识别多个元素。有多种策略可以定位元素。以下列出了不同的定位方法。
find_elements_by_xpath - 此方法返回参数中所有 XPath 匹配的元素,并以列表形式返回。如果没有元素具有匹配的 XPath,则返回空列表。
语法
driver.find_elements_by_xpath("//input[name=text-search]")
find_elements_by_link_text - 此方法返回参数中所有链接文本值匹配的元素,并以列表形式返回。
如果没有元素包含匹配的文本,则返回一个空列表。语法
driver.find_elements_by_link_text("Tutorialspoint")
find_elements_by_name — 此方法返回参数中 name 属性值匹配的所有元素,并以列表形式返回。如果没有元素具有匹配的名称,则返回空列表。
语法
driver.find_elements_by_name("name-search")
find_elements_by_partial_link_text — 此方法返回参数中 link_text 部分值匹配的所有元素,并以列表形式返回。如果没有元素具有匹配的名称,则返回空列表。
语法
driver.find_elements_by_partial_link_text("Tutorials")
find_elements_by_tag_name — 此方法返回参数中所有标签名称匹配的元素,并以列表形式返回。如果没有元素具有匹配的标签名称,则返回空列表。
语法
driver.find_elements_by_tag_name("a")
find_elements_by_class_name — 此方法返回参数中所有类名称匹配的元素,并以列表形式返回。
语法
driver.find_elements_by_class_name("tutor")
find_elements_by_css_selector - 此方法以列表形式返回所有 CSS 样式与参数匹配的元素。如果没有元素具有匹配的 CSS 样式,则返回空列表。
语法
driver.find_elements_by_css_selector("input#tutor")
示例
用于定位多个元素的代码实现。
from selenium import webdriver
#浏览器暴露一个可执行文件
#通过 Selenium 测试,我们将调用该可执行文件,然后
#调用实际的浏览器
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
#最大化浏览器窗口
driver.maximize_window()
#get 方法启动 URL
driver.get("https://www.tutorialspoint.com/selenium/selenium_automation_practice.htm")
#刷新浏览器
driver.refresh()
#识别列表中具有 type 属性的复选框
chk =driver.find_elements_by_xpath("//input[@type='checkbox']")
#使用 len 方法获取列表的大小
print(len(chk))
#关闭浏览器
driver.close()
相关文章
打印
下一节:如何在 Python 中使用 Selenium 调用 Firefox 浏览器? ❯❮ 上一节:如何使用 Python 的 Selenium 中的 Javascript 执行器获取网页的标题和 URL?

