所以我的元素看起来像这样
<li class="attribute "></li> # note the space
<li class="attribute"></li>
使用xpath //li[@class="attribute"]
将获得第二个元素,但不是第一个元素。如何使用相同的xpath获取两个元素?
答案 0 :(得分:2)
此XPath 1.0表达式,
//li[contains(concat(' ', normalize-space(@class), ' '),
' attribute ')]
将选择包含li
子字符串的class
个属性的所有attribute
元素,无论它是否具有前导或尾随空格。
如果您只想将attribute
与可能的前导和尾随空格匹配(没有其他字符串值),请使用normalize-space()
:
//li[normalize-space(@class) = 'attribute']