最近定位class元素对于我这个萌新来说费了九牛二虎之力
如下截图:
我要定位
class=“anticon anticon-user”
首先我想到的是通过class name定位
代码实现:因为我封装了获取class name方法所以直接调用的
结果报错
通过百度一搜是空格导致 然后把空格去掉
get_classid("anticon-user").click()
然后跑了一下结果提示这个元素被模糊掉了
后面想到另一种方法
通过 find_element_by_link_text 定位元素
结果定位成功
总结:
1、class属性中间的空格并不是空字符串,是间隔符号,表示的是一个元素有多个class的属性名称
(class属性是比较特殊的一个,除了class这个有多个属性外,像name,id没多个属性)
2、selenium 提供了8中元素定位的方法 选择适合的方法来定位
- find_element_by_id
- find_element_by_name
- find_element_by_xpath
- find_element_by_link_text
- find_element_by_partial_link_text
- find_element_by_tag_name
- find_element_by_class_name
- find_element_by_css_selector
3、一定要学会看错误信息,然后一步一步去定位问题