1. id属性:html规范当中规定ID值是唯一的,相对好用

  2. name属性:name属性值可以重复

  3. class_name属性: class属性值有多个时,使用其中一个

  4. 元素tag_name:通过标签名称定位

  5. link_text:通过a标签的全部文本信息进行元素定位

  6. partial_link_text:通过a标签的局部文本信息进行元素定位

  7. 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值开头的元素

  8. 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的内容