XPath multiple包含返回单个元素

时间:2014-01-21 02:55:10

标签: html xpath

我有以下两个XPath选择器单独工作,但我无法将它们组合在一起以返回相同的元素:

//*[@customAttribute="banana"]//*[contains(@style,'width:100px')] 

//*[@customAttribute="banana"]//*[contains(label,'Name')] 

目标元素周围的来源是这样的:

<label 
id="randomID_1234" 
for="randomID_1234" 
class="class1 class2 class3" 
style="width:100px;margin-right:5px;" 
unselectable="on">
Name
</label>

为什么不按标签名称返回元素?我必须断言元素也符合某种风格。这可能与单线程有关吗?

2 个答案:

答案 0 :(得分:1)

这个应该可以解决问题:

//*[@customAttribute="banana"]//*[contains(label,'Name')][contains(@style,'width:100px')] 

答案 1 :(得分:0)

这最终成功了:

(//*[@customAttribute="banana"]//*[contains(label,'Name')])//*[contains(@style,'width:100px')]