指定一个类和一个样式属性的div的Xpath

时间:2017-07-06 08:32:46

标签: xpath

我想写一个xpath来识别一个包含类foo和display:block的div。我写了

div[@class="foo" and @style="*display: block*"]

但它不起作用。使用是否正确?使用正则表达式中的星号是否正确?

1 个答案:

答案 0 :(得分:5)

你的xpath正在搜索@style="*display: block*",它意味着完全等于引号内的值。请改用contains(), Fyi:还有starts-with()方法

//div[@class='foo'][contains(@style,'display: block')]

使用这样的定位器存在一个问题,因为有时元素是可见的,尽管没有样式display:block。所以你可以使用类似的定位器,但不是包含块,不包含“无”的搜索(如display:none),可以通过将其添加到主定位器[not(contains(@style, 'none'))]来尝试。只记得这样的选项)