首页 > 技术文章 > selenium元素定位

sunnyxhd 2020-10-19 16:25 原文

元素定位优先级:

ID/Name >CSS Selector>xpath>Link>Class Name>Tag Name

1.xpath定位

$x('xpath 表达式')

 

2.css_selector定位

$('CSS 表达式')

 

3.class name

$('class表达式')

class属性如果中间有空格,如果直接复制过来定位是会报定位不到元素的错误

参考文章:https://blog.csdn.net/cyjs1988/article/details/75006167

如果直接复制过来用class属性定位是会报错的,class属性中间的空格并不是空字符串,那是间隔符号,表示的是一个元素有多个class的属性名称

(class属性是比较特殊的一个,除了这个有多个属性外,其它的像name,id是没多个属性的)

1.既然知道class属性有空格是多个属性了,那定位的时候取其中的一个就行(并且要唯一),如果这个class的多个属性都不是唯一的咋办呢,元素不唯一也不用怕,可以用复数定位,把所有的相同元素定位出来,按下标取第几个就行。

2.css定位

class属性的元素前面加个点(.)就行,然后空格变成点(.)就能定位了

当然css也可以取class属性的其中一个属性(页面上唯一的)来定位,

推荐阅读