高级定位的三种方式

1.text定位适用于有文本的

  练习定位百度首页的学术

  //*[@id ='s-top-left']//a[text()='学术']

2、contains适用于有class的

  //input[contains(@class,'s_ipt')]

  如果有多个属性后面可以加and

3、轴运算

ancestor:祖先结点(包括父结点)

parent:父结点

preceding-sibling:当前元素结点标签之前的所有兄弟结点(同级)

following-sibling:当前元素结点标签之后的所有兄弟结点(同级)

语法/轴名称::节点名称[@属性=属性值]

  练习

 找到JavaScript这个元素

//div[text()=' HTML / CSS']/parent::div/following-sibling::div//div[text()=' JavaScript']

注意:最好用单引号,不然可能定位不了

思路是先找到元素,然后找到他的祖先元素,然后找到他的兄弟元素,最后看兄弟元素是否有唯一的标签,没有可以试试text定位,最好复制,不然有时候有空格

following-sibling::div,parent::div

或者也可以用find_elements的方法,取出所有元素然后用索引取值,这里索引从1开始。

原文地址:https://www.cnblogs.com/albeexu/p/13043814.html