- 通过元素id定位
#通过元素id定位
wb.find_element_by_id('kw').send_keys('selenium')
- 通过class_name定位
#通过class_name定位
wb.find_element_by_class_name('s_btn').click()
- 通过标签名定位
#通过标签名定位
wb.find_element_by_tag_name('class="soutu-btn"').click()
-
通过css表达式定位
css表达式功能比较强大,想了解的可参考我的另一篇文章:selenium元素定位之CSS选择器语法汇总 -
通过xpath定位
1、绝对路径选择
从根节点开始,例如:/html/body/div
2、相对路径选择
用//表示,代表绝对路径,例如://div//p
3、根据属性选择
语法:[@属性名=‘属性值’
4、根据id属性选择
语法://[@id='id名字']
5、根据class属性选择
语法://标签名[@class='class名字']
6、根据其他属性选择
例如://[@multiple]
7、属性值包含字符串
语法://[contains(@属性值,'值')]
8、属性值以字符串开头
语法://[start-with(@属性值,'值')]
9、某类型的第N个元素
语法://div/p[2]
10、某类型的倒数第N个元素
语法:
//div/p[last()] ---代表倒数第1个元素
//div/p[last()-1] ---代表倒数第2个元素
11、范围选择
语法://option[position()<3] ----代表选择option类型第1个到第2个子元素
12、组(多元素)选择
语法:用竖线|隔开
例如://option/p | //div/h
13、选择父节点(css不具备的功能)
语法:用/..来表示父节点
例如://[@id='name']/.. ----表示获取id为name的父节点
14、兄弟节点选择
语法:
后面的兄弟节点用following-sibling::
前面的兄弟节点用 preceding-sibling::
例如://[@id='name']/following-sibling::* --表示选择id为name的后续所有兄弟节点
网友评论