python+selenium之页⾯元素定位,当定位元素时发现元素值中
间有空格时如何处理
新⼈⼀枚,
selenium的常规定位⽅法:
8种元素定位分别是
1.find_element_by_id() #通过元素id定位
2.find_element_by_name() #通过元素name定位
3.find_element_by_class_name() #通过元素class定位
4.find_element_by_tag_name() #通过标签tag名称定位
5.find_element_by_link_text() #超链接定位⽅法
6.find_element_by_partial_link_text() #超链接模糊定位⽅法
7.find_element_by_xpath() #xpath定位xpath语法 python
8.find_element_by_css_selector() #css定位
其中前⾯六种⽐较好学,元素有的直接套⽤就⾏,
xpath和css定位更加全⾯和强⼤(号称selenium⾥⾯的倚天剑和屠龙⼑)
今天分享⼀个就是元素class值中间有空格的怎么定位。
直接使⽤find_element_by_class_name() ,运⾏后报错提⽰定位不到该元素
这个时候建议使⽤css定位
例如:元素class=“layui-input layui-unselect”
中间有⼀个空格,第⼀次定位直接就⽤class值定位
find_element_by_class_name(“layui-input layui-unselect”)
结果报错不到元素
亲试以下⼀些处理⽅法,总结下:
# ⽅法⼀:取单个class属性(如果属性唯⼀)
driver.find_element_by_class_name("layui-input")
# ⽅法⼆:定位⼀组取下标定位(乃下策)
driver.find_elements_by_class_name("layui-input")[0]
driver.find_elements_by_class_name("layui-unselect")[1]
# ⽅法三:css定位
driver.find_element_by_css_selector(".layui-input.layui-unselect")
# ⽅法四:取css的单个class属性也是可以的
driver.find_element_by_css_selector(".layui-input")
# ⽅法五:直接包含空格的CSS属性定位⼤法
driver.find_element_by_css_selector("[class='layui-input layui-unselect']") 明天中秋假期,还要加班 ^v^...
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论