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官方文档。