转自https://zhuanlan.zhihu.com/p/31530445
XPath 最初是用来在 XML 文档中定位 DOM 节点的语言,由于 HTML 也可以算作 XML 的一种实现,所以 Selenium 也可以利用 XPath 这一强大的语言来定位 Web 元素。xpath的强大在于它可以通过父节点或者兄弟节点,根据html元素的前后关联性定位到元素需要的元素。
XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。
1、选取节点
XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。
image.png
示例:
image.png
2、谓语(Predicates)
谓语用来查找某个特定的节点或者包含某个指定的值的节点。
谓语被嵌在方括号中。
image.png
3、选取未知节点
XPath 通配符可用来选取未知的 XML 元素。
image.png
示例:
image.png
4、XPath 轴
轴可定义相对于当前节点的节点集。
image.png
示例:
image.png
5、综合运用
示例:搜狗搜索页面元素为示例
image.png
相邻元素定位,
前一位:
preceding-sibling::div[1]
后一位:
following-sibling::div[1]
前N位:
preceding-sibling::div[N]
后N位:
following-sibling::div[N]
网友评论