Xpath元素定位-find_element_by_xpath
- Xpath(XML path language)是一门在xml文档中查找信息的语言,可用来在xml文档中对元素和属性进行遍历。
- 因为在页面当中,有一些元素无法通过元素的信息精准的定位到, 所以需要借助于Xpath和CSS
- 路径定位
-
绝对路径:表达式是以 /html开头,元素的层级之间是以 / 分隔
-
相同层级的元素可以使用下标,下标是从1开始.
-
例:/html/body/div/fieldset/form/p[1]/input
-
相对路径:匹配任意层级的元素,是以//tag_name或者//* 开头
-
例子://p[5]/button
-
- 元素属性定位
- //或者//tag_name开头 //[@attribute='value']
- attribute表示的是元素的属性名,value表示的是元素对应属性值
- 注意:如果使用class的属性进行元素定位,需要用到class里面所有的值
- 属性与逻辑结合定位
- //* 或者//tag_name 开头
- //*[@attribute1='value1' and @attribute2='value2']
- 属性与层级结合定位
- 是以//*或者//tag_name开头
- //p[@id='pa']/input
- 在任意层给当中,都可以结合属性来使用
- //*[text() = 'value']
- //value表示的是要定位的元素的全部文本内容.
- //*[contains(@attribute,'value')]
- //attribute表示的属性名称,value表示的是字符串
- 要定位的元素中,attribute属性的属性值包含了value的内容。
- //*[starts-with(@attribute,'value')]
- attribute表示的属性名 称, value表示的是字符串
- 要定位的元素,attribute属性的属性值是以value开头
其他函数链接:https://www.w3school.com.cn/xpath/xpath_functions.asp
CSS元素定位-find_element_by_css_selector
**CSS定位策略**
- id选择器
- #id -- #表示通过元素的ID属性进行元素选择 id表示的是id属性的属性值
- class选择器
- .class .表示通过元素的class属性进行元素选择,class表示的class属性的其中一个属性值
- 元素选择器
- 就是通过元素标签名称来选择元素。表达式:tag_name 不推荐使用
- 属性选择器
- [attribute='value'] attribute 表示的是属性名称,value表示的是属性值 如果使用的是class属性,需要带上class的全部属性值>
- 层级选择器
- 父子层级关系选择器
- 表达式: element1>element2 通过element1来找 element2,并且element2是element1的直接子元素
- 隔代层级关系选择器
- 表达式: element1 element2 通过element1来找 element2, 并且element2是element1的后代元素
1.input[type^='value']
input表示标签名称,
type表示属性名称,
value表示的文本内容--查找元素type属性值是以value开头的元素
2.input[type$='value']
input表示标签名称,
type表示属性名称,
value表示的文本内容--查找元素type属性值以value结尾的元素
3.input[type*='value']
input表示标签名称,
type表示属性名称,
value表示的文本内容 查找元素type属性值包含value的元素
- id、name、class_name:为元素属性定位
- tag_name:为元素标签名称
- link_text、partial_link_text:为超链接定位(a标签)
- XPath:为元素路径定位
- CSS:为CSS选择器定位
合计8种元素定位--根据自己的实际情况选择
本文由 瑾年 创作,采用 知识共享署名4.0
国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Dec 20,2021