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

概述

selenium元素定位

1. 简单元素定位方式

# 根据元素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. 根据标签名称定位
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. 根据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自动化测试:selenium元素定位所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部