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