-
id属性:html规范当中规定ID值是唯一的,相对好用
-
name属性:name属性值可以重复
-
class_name属性: class属性值有多个时,使用其中一个
-
元素tag_name:通过标签名称定位
-
link_text:通过a标签的全部文本信息进行元素定位
-
partial_link_text:通过a标签的局部文本信息进行元素定位
-
xpath:非常好用
相对路径//* 或者 //tag_name;可以使用下标,下标从1开始,如://p[1]/input。属性定位://* [@attribute='value'] 或 //* [@attriubte1='value1' and @attribute2='value2']
属性与路径结合:
//* li[8]/label[@class='recom_t']/a[@href='/topics/396544990']扩展方法:
//* [text()='value']:通过元素的全部文本内容来定位元素
//* [contains(@attriubte, 'value')]:匹配attribute属性值当中包含value值的元素
//* [starts-with(@attribute, 'value')]:匹配attribute属性值是以value值开头的元素
-
CSS选择器:非常好用
id选择器:#id
class选择器: .class,class表示的是class属性的其中一个值
属性选择器: [attribute='value']
层级选择器
父子层级关系:element1>element2
通过element1来找element2,并且element2是element1的直接子元素
隔代层级关系:element1 element2
通过element1来找element2,并且element2是element1的后代元素
CSS扩展
[attribute^='value']:attribute的属性值是以value开头
[attribute$='value']:attribute的属性值是以value结尾
[attribute*='value']:attribute的属性值包含了value的内容