高级定位的三种方式

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开始。

 

posted @ 2020-06-04 15:26  Albeexu  阅读(290)  评论(0编辑  收藏  举报