- find_elements_by_name
- find_elements_by_xpath
- find_elements_by_link_text
- find_elements_by_partial_link_text
- find_elements_by_tag_name
- find_elements_by_class_name
- find_elements_by_css_selector
定位多个元素的定位器策略Selenium Python对元素遵循不同的定位策略。一个人可以用7种不同的方式来定位多个元素。这是python中Selenium的定位策略列表–
定位器 | 描述 |
---|---|
find_elements_by_name | 名称属性值与位置匹配的所有元素将被返回。 |
find_elements_by_xpath | 将返回所有具有xpath语法与位置匹配的元素。 |
find_elements_by_link_text | 链接文本值与位置匹配的所有元素将被返回。 |
find_elements_by_partial_link_text | 将返回具有部分链接文本值与位置匹配的所有元素。 |
find_elements_by_tag_name | 具有给定标签名称的所有元素将被返回。 |
find_elements_by_class_name | 具有匹配的类属性名称的所有元素将被返回。 |
find_elements_by_css_selector | 将返回所有具有匹配CSS选择器的元素。 |
句法 -
driver.find_elements_by_name("name_of_element")
示例–
例如, 考虑以下页面来源:
<
html >
<
body >
<
form id = "loginForm" >
<
input name = "username" type = "text" />
<
input name = "username" type = "username" />
<
input name = "continue" type = "submit" value = "https://www.lsbin.com/Login" />
<
/ form >
<
/ body >
<
html >
现在, 在创建驱动程序之后, 你可以使用-
elements = driver.find_elements_by_name('username')
要检查实际实施情况, 请访问–find_elements_by_name()驱动程序方法– Selenium Python
find_elements_by_xpath使用此策略, 将返回所有xpath模式与位置匹配的元素。如果没有元素具有匹配的元素属性, 则将引发NoSuchElementException。
句法 -
driver.find_elements_by_xpath("xpath")
示例–
例如, 考虑以下页面来源:
<
html >
<
body >
<
form id = "loginForm" >
<
input name = "username" type = "text" />
<
input name = "password" type = "password" />
<
input name = "continue" type = "submit" value = "https://www.lsbin.com/Login" />
<
/ form >
<
/ body >
<
html >
现在, 在创建驱动程序之后, 你可以使用-
login_form = driver.find_elements_by_xpath("/html/body/form[1]")
login_form = driver.find_elements_by_xpath("//form[1]")
要检查实际实施情况, 请访问–find_elements_by_xpath()驱动程序方法– Selenium Python
find_elements_by_link_text使用此策略, 将返回链接文本值与位置匹配的所有元素。如果没有元素具有匹配的链接文本属性, 则将引发NoSuchElementException。
句法 -
driver.find_elements_by_link_text("Text of Link")
示例–
例如, 考虑以下页面来源:
<
html >
<
body >
<
p >
Are you sure you want to do this?<
/ p >
<
a href = "https://www.lsbin.com/continue.html" >
Continue<
/ a >
<
a href = "https://www.lsbin.com/cancel.html" >
Cancel<
/ a >
<
/ body >
<
html >
现在, 在创建驱动程序之后, 你可以使用-
login_form = driver.find_elements_by_link_text('Continue')
要检查实际实施情况, 请访问–find_elements_by_link_text()驱动程序方法– Selenium Python
find_elements_by_partial_link_text使用此策略, 将返回部分链接文本值与位置匹配的所有元素。如果没有元素具有匹配的部分链接文本属性, 则将引发NoSuchElementException。
句法 -
driver.find_elements_by_partial_link_text("Text of Link")
示例–
例如, 考虑以下页面来源:
<
html >
<
body >
<
p >
Are you sure you want to do this?<
/ p >
<
a href = "https://www.lsbin.com/continue.html" >
Continue<
/ a >
<
a href = "https://www.lsbin.com/cancel.html" >
Cancel<
/ a >
<
/ body >
<
html >
现在, 在创建驱动程序之后, 你可以使用-捕获所有元素
login_form = driver.find_elements_by_partial_link_text('Conti')
要检查实际实施情况, 请访问–find_elements_by_partial_link_text()驱动程序方法– Selenium Python
find_elements_by_tag_name使用此策略, 将返回具有给定标签名称的所有元素。如果没有元素具有匹配的标签名称, 则将引发NoSuchElementException。
句法 -
driver.find_elements_by_tag_name("Tag name")
示例–
例如, 考虑以下页面来源:
<
html >
<
body >
<
h1 >
Welcome<
/ h1 >
<
p >
Site content goes here.<
/ p >
<
/ body >
<
html >
现在, 在创建驱动程序之后, 你可以使用-捕获所有元素
login_form = driver.find_elements_by_tag_name('h1')
要检查实际实施情况, 请访问–find_elements_by_tag_name()驱动程序方法– Selenium Python
find_elements_by_class_name使用此策略, 将返回具有匹配类属性名称的前几个元素。如果没有元素具有匹配的类属性名称, 则将引发NoSuchElementException。
句法 -
driver.find_elements_by_class_name("class_of_element")
示例–
例如, 考虑以下页面来源:
<
html >
<
body >
<
p class = "content" >
Site content goes here.<
/ p >
<
/ body >
<
html >
现在, 在创建驱动程序之后, 你可以使用-捕获所有元素
content = driver.find_elements_by_class_name('content')
要检查实际实施情况, 请访问–find_elements_by_class_name()驱动程序方法– Selenium Python
find_elements_by_css_selector使用此策略, 将返回所有具有匹配CSS选择器的元素。如果没有元素具有匹配的CSS选择器, 则将引发NoSuchElementException。
句法 -
driver.find_elements_by_css_selector("CSS Selectors")
示例–
例如, 考虑以下页面来源:
<
html >
<
body >
<
p class = "content" >
Site content goes here.<
/ p >
<
/ body >
<
html >
现在, 在创建驱动程序之后, 你可以使用-捕获所有元素
content = driver.find_elements_by_css_selector('p.content')
要检查实际实施情况, 请访问–find_elements_by_css_selector()驱动程序方法– Selenium Python
【如何在Selenium Python中定位多个元素(详细示例)】首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
推荐阅读
- 算法题(如何解决数据恢复问题())
- C#如何使用方法覆盖(代码示例和指南)
- 如何在PHP中将PDF文档转换为预览图像()
- 算法设计(如何查找矩阵中的最大元素(详细实现))
- 算法(如何获取链表的末尾开始为第n个节点的值())
- Python如何使用生成器(详细指南)
- 本文教你电脑打开黑屏原因排查
- 本文教你最容易让win10变回win7的办法
- win7激活工具最新推荐