我是靠谱客的博主 多情麦片,这篇文章主要介绍web自动化测试:selenium元素定位,现在分享给大家,希望可以做个参考。

selenium元素定位

1. 简单元素定位方式

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
# 根据元素id属性定位 driver.find_element_by_id("id属性值") # 根据元素name属性定位 driver.find_element_by_name("name属性值") # 根据元素class属性定位 driver.find_element_by_class_name("class属性值") # 根据元素标签名定位 driver.find_element_by_tag_name("标签名") # 根据元素a标签的超链接文本定位 driver.find_element_by_link_text("a标签文本") # 根据元素a标签的部分连续超链接文本定位 driver.find_element_by_partial_link_text("a标签部分文本")

2. XPath定位

如果从根节点定位,需使用“/”,由于从根节点定位路径较长,所以一般使用“//” 根据匹配的节点开始定位。

xpath定位中常用符号
/标签名称 :①以改符号开头,表示从根节点开始定位;②路径中间使用该符号,表示定位子元素
// 标签名称 :①可使用 //* 匹配任一标签 ②路径中间使用该符号,表示定位子孙元素
@属性名
. 选取当前结果
… 选取当前节点的父节点

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 1. 根据标签名称定位 driver.find_element_by_xpath("//标签名") # 2. 根据父子关系定位 driver.find_element_by_xpath("//父元素/子元素") # 3. 根据子孙关系定位 driver.find_element_by_xpath("//祖先元素//子孙元素") # 4. 根据元素属性定位 driver.find_element_by_xpath("//*[@属性名='属性值']") # 5. 根据元素多个属性定位 driver.find_element_by_xpath("//*[@属性名='属性值' and @属性名1='属性名2']") # 6. 根据双标签文本定位 driver.find_element_by_xpath("//*[text()='文本']") # 7. 根据属性信息模糊匹配 driver.find_element_by_xpath("//*[contains(属性名, '包含内容')]") driver.find_element_by_xpath("//*[contains(text(), '包含内容')]") # 8. 选取定位匹配到的第一个元素 driver.find_element_by_xpath("//祖先元素//子孙元素[1]") # 9. 选取定位匹配到的最后一个元素 driver.find_element_by_xpath("//祖先元素//子孙元素[last()]") # 10. 选取定位匹配到的倒数第二个元素 driver.find_element_by_xpath("//祖先元素//子孙元素[last()-1]")

3. CSS定位

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 1. 根据id属性定位 driver.find_element_by_css_selector("#id属性值") # 2. 根据class属性定位 driver.find_element_by_css_selector(".class属性值") # 3. 根据标签名定位 driver.find_element_by_css_selector("标签名") # 4. 根据属性定位 driver.find_element_by_css_selector("[属性名='属性值']") # 5. 根据属性值模糊匹配 driver.find_element_by_css_selector("[属性名*='包含属性值']") # 6. 根据元素多个属性值定位 driver.find_element_by_css_selector("[属性名='属性值'][属性名1='属性值1']") # 7. 根据元素父子关系定位 driver.find_element_by_css_selector("父元素>子元素") # 8. 根据元素子孙关系定位 driver.find_element_by_css_selector("祖先元素 子孙元素") # 9. 使用 p:nth-child(n) 定位属于其父元素的第n个子元素的p元素(是第n个子元素且是p元素) driver.find_element_by_css_selector("祖先元素 p:nth-child(n)") # 10. 使用 nth-last-child(n) 定位属于其父元素的倒数第n个子元素的p元素 driver.find_element_by_css_selector("祖先元素 p:nth-last-child(1)")

最后

以上就是多情麦片最近收集整理的关于web自动化测试:selenium元素定位的全部内容,更多相关web自动化测试内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部