仅当xpath中存在子项时才匹配父项

时间:2015-06-05 23:36:43

标签: xpath

('//div[contains(@class, "myClass")]') //all the occurrences

我需要从那些只有里面有div“tec”的那些中选择,<div class="tec"><div class="myClass">的孙子

以防万一:

<div class="myClass">
    <div class="other-div1"></div>
    <div class="sibling">
        <div class="tec">"Content."</div>
        <div class="other-div2"></div>
    </div>
</div>

我需要获得包含“内容”的div的那些。

2 个答案:

答案 0 :(得分:2)

您可以尝试这种方式:

//div[contains(@class, "myClass") and */div[@class="tec"]]

上面的xpath会添加检查当前<div class="myClass">是否有祖儿<div class="tec">(如果您愿意,请使用contains()而不是完全匹配=)。

如果您不确定<div class="tec"><div class="myClass">内的位置,您可能需要切换到后代轴。在这种情况下,请不要忘记前导.使后代轴相对于当前<div class="myClass">上下文:

//div[contains(@class, "myClass") and .//div[@class="tec"]]

答案 1 :(得分:0)

万一有人想知道我是如何修理它的,我使用//div[@class = 'class1'][div[( @class = 'class2') or (@class = 'class3')]//div[@class = 'class4']/div[@class = 'tec']]我必须弄清楚,因为文件改变了一点点:)