selenium中xpath的用法大全

XPath的格式遵循XML路径语言规范,用于在XML/HTML文档中定位节点。以下是基本格式和常见用法:


1. 基本语法

  • 绝对路径 :从根节点开始,如 /html/body/div
  • 相对路径 :从当前节点开始,如 //div 表示查找所有div元素。

2. 常用表达式

(1) 通过标签名定位
复制代码
//div  # 查找所有div元素
(2) 通过属性定位
复制代码
//input[@id='username']  # 查找id为username的input元素
//a[@class='link']       # 查找class为link的a元素(注意:与CSS类名大小写敏感一致)
(3) 通过文本内容定位
复制代码
//a[text()='点击这里']  # 查找文本完全匹配的a元素
//span[contains(text(), '示例')]  # 查找包含特定文本的span元素
(4) 通过层级关系定位
复制代码
//div[@class='container']/p  # 查找class为container的div下的直接p子元素
//ul/li[1]  # 查找ul下的第一个li元素

3. 逻辑组合

  • AND/OR:结合多个条件。

    复制代码
    //button[@type='submit' and @class='primary']  # 同时满足两个条件
  • 通配符*表示任意标签,@*表示任意属性。

    复制代码
    //*[@id='header']  # 查找任意有id为header的元素

4. 注意事项

  • 大小写敏感 :与CSS类名类似,XPath中标签名和属性名是大小写敏感的(如//Div//div不同)。
  • 索引从1开始 :如//li[1]表示第一个li元素。

示例

复制代码
//form[@id='loginForm']//input[@name='email']  # 在loginForm表单内查找name为email的input

通过灵活组合上述语法,可以精确定位页面元素。如果需要更复杂的逻辑,可参考XPath官方文档

相关推荐
金玉满堂@bj1 天前
我是程序员吗?
测试工具·可用性测试
安冬的码畜日常2 天前
【JUnit实战3_20】第十一章:用 Gradle 运行 JUnit 测试实战
测试工具·junit·单元测试·gradle·软件构建·groovy·junit5
张永清-老清2 天前
每周读书与学习->JMeter主要元件详细介绍(三)逻辑控制器
测试工具·jmeter·压力测试·性能调优·jmeter性能测试·性能分析·每周读书与学习
程序员三藏2 天前
如何使用Selenium做自动化测试?
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
安冬的码畜日常2 天前
【JUnit实战3_19】第十章:用 Maven 3 运行 JUnit 测试(下)
java·测试工具·junit·单元测试·maven·junit5
安冬的码畜日常2 天前
【JUnit实战3_18】第十章:用 Maven 3 运行 JUnit 测试(上)
测试工具·junit·maven·artifact·junit5
交换机路由器测试之路2 天前
发包工具anysend使用手册
网络·测试工具·ipv6·发包工具
jc06202 天前
7.1-性能与测试工具
测试工具
程序员杰哥2 天前
外包干了三年,快要废了。。。
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
安冬的码畜日常3 天前
【JUnit实战3_13】第八章:mock 对象模拟技术在细粒度测试中的应用(上)
测试工具·junit·单元测试·junit5·mock模拟·mock对象·mock objects