2018-04-17 xpath

xpath教程(非常不错!!)

web端功能自动化定位元素

XPath、XQuery 以及 XSLT 函数

Selenium之xpath和css定位

1、通过parent::来获取父节点,代码如下:

result = html.xpath('//a[@href="link4.html"]/parent::*/@class')

2、如果要想获取子孙节点内部的所有文本,可以直接用//text()的方式,这样可以保证获取到最全面的文本信息,但是可能会夹杂一些换行符等特殊字符。如果想获取某些特定子孙节点下的所有文本,可以先选取到特定的子孙节点,然后再调用text()方法获取其内部文本,这样可以保证获取的结果是整洁的。

3、属性获取属性匹配的不同——属性匹配是中括号加属性名和值(如[@href="link1.html"])来限定某个属性,而此处的@href指的是获取节点的某个属性,二者需要做好区分。

4、 属性多值匹配

result = html.xpath('//li[contains(@class, "li")]/a/text()');这样通过contains()方法,第一个参数传入属性名称,第二个参数传入属性值,只要此属性包含所传入的属性值,就可以完成匹配了。

5、多属性匹配

result = html.xpath('//li[contains(@class, "li") and @name="item"]/a/text()')

6、| 计算两个节点集       //book | //cd         返回所有拥有book和cd元素的节点集

7、attribute::*选取当前节点的所有属性。

attribute::lang选取当前节点的 lang 属性。

8、child::text()选取当前节点的所有文本子节点。       print(html.xpath('//li[1]//child::text()'))

      child::node()选取当前节点的所有子节点。            print(html.xpath('//li[1]//child::node()'))

9、driver. findElement(By.xpath ("//input") )

返回查找到的第一个符合条件的元素。

driver. findElement(By.xpath ("//input[2]") )

返回查找到的第二个符合条件的元素。

10、

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容