1分钟了解一个测开小知识:
selenium定位web元素的方法(四)CSS定位,part3:
CSS和其他定位方式相比最大的优势,在于支持模糊查询。
针对某些前台样式不稳定的页面,
使用id、class、Xpath等定位方式,会导致修改后无法定位到元素。
CSS支持针对于元素的模糊查询:
这里class = 'aty-input-money'
模糊查询的关键字:*= ,包含的意思
例如:class *= 'money' 。查询所有class属性中包含money的元素
完整脚本:mondy_input = driver.find_element_by_css_selector('class*="money"')
使用包含就可以对元素的部分属性定位到这个元素,在其进行小改动的时候,自动化脚本依然健壮,能够运行。
除了包含,CSS还支持2中查询方式:
依然以class = 'aty-input-money'为例
^= 以某个元素开头, class ^= "aty"
$= 以某个元素结尾, class $= "money"
完整例子:
mondy_input = driver.find_element_by_css_selector('class^="aty"')
mondy_input = driver.find_element_by_css_selector('class$="money"')