selenium元素定位
Posted hellowcf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium元素定位相关的知识,希望对你有一定的参考价值。
find_element_by_id
html中id=‘xxxx’,页面中id是唯一的
find_element_by_name
html中name=’xxxx’
可以有多个,如果出现多个,使用find_elements
find_element_by_xpath
通过xpath信息
使用xpath定位起始
//开始表示从html顶部开始
./表示从当前位置开始往后查找
通过元素属性定位
可以通过元素的id,class,name,type等全部属性定位
Driver.find_element_by_xpath(“//div[@属性名=‘value’]”)
其中div标签可以具体的写明,也可以使用*代替
Xpath的层次
按照dom树的先后写出xpath的层次,可以通过索引来定位具体的一个元素
Driver.find_element_by_xpath(“//*[@id=’aa’]/option[1]”)表示获取第二个元素
Xpath的逻辑运算
在使用属性的时候可以使用逻辑运算具体定位元素,支持与(and),或(or),非(not)
Driver.find_element_by_xpath(“//*[@class=’aa’ and @type=‘input’]”)
Xpath的模糊匹配
Xpath可以通过对属性进行模糊匹配进行定位
使用关键字contains模糊匹配
Driver.find_elements_by_xpath(“//*[contains(text(),’hao’)]”)
该语句表示查找所有包含text为hao的元素
使用starts-with匹配以什么开头
Driver.find_element_by_xpath(“//*[starts-with(@id,’kw’)]”)
表示查找id以kw开始的元素
使用ends-with匹配以什么结束
Driver.find_element_by_xpath(“//*[ends-with(@class,’kw’)]”)
表示查找class以kw结束的元素
使用matchs关键字匹配正则表达式
Driver.find_element_by_xpath(“//*[matchs(@class,’kw’)]”)
表示查找匹配整个表达式的元素
find_element_by_link_text
linktext信息
find_element_by_partial_link_text
partial为部分的意思,需要选择一个比较唯一的字段来区分这个元素
find_element_by_tag_name
通过tag的名称查找
find_element_by_class_name
通过class名称查找
find_element_by_css_selector
通过css选择器查找
以上是关于selenium元素定位的主要内容,如果未能解决你的问题,请参考以下文章