我想编写一个xpath来识别具有class为foo和display:block的div。 我写了:
div[@class="foo" and @style="*display: block*"]
但它不起作用。使用"and"是否正确?像正则表达式中那样使用星号是否正确?
我想编写一个xpath来识别具有class为foo和display:block的div。 我写了:
div[@class="foo" and @style="*display: block*"]
但它不起作用。使用"and"是否正确?像正则表达式中那样使用星号是否正确?
@style="*display: block*"
,它完全等于引号中的值。改用contains()
方法。
提醒:还有starts-with()
方法。//div[@class='foo'][contains(@style,'display: block')]
使用这样的定位器存在问题,因为有时元素是可见的,但没有display:block
风格。因此,您可以使用类似的定位器,但不是包含块,而是搜索不包含“none”(如display:none),可以通过将[not(contains(@style, 'none'))]
添加到主要定位器中来尝试它。只需记住这种选项即可。
//div[@class='foo' and contains(@style, 'display: block')]
与//div[@class='foo' and @style='display:block;']
有区别吗? - CodeManXblock
。因此,我使用了完全相似的定位器,但是不是包含block
,而是搜索not-containing“none”
(如display:none),可以通过将其添加到主定位器[not(contains(@style, 'none'))]
来尝试它。只需记住这个选项即可。 - Vitaliy Moskalyuk)比方括号(
Alt Gr+
8,
Alt Gr+
9`)要容易得多。我相信这是一些德国程序员使用英文键盘/键盘布局的原因之一 ;) - CodeManX