首页 文章

XPath:找到包含两个字符串的文本节点的元素

提问于
浏览
0

我想使用XPath来定位一个div(class =“class1”)元素,它在这个html中封装了字符串'Text1'和'Text2':

<html>
<head>
    <title></title>
</head>
<body>
    <div class="class1">
        <div>
            <a href="http://url1.com">Text1</a>
        </div>
        <div>
            <div>
                <a href="http://url2.com">Text2</a>
            </div>
        </div>
    </div>
    <div class="class1">
        <div>
            <a href="http://url3.com">Text3</a>
        </div>
        <div>
            <div>
                <a href="http://url4.com">Text4</a>
            </div>
        </div>
    </div>
</body>
</html>

但是这个xpath似乎不起作用:

//div[@class="class1" and contains(text(),"Text1") and contains(text(),"Text2")]

我怎样才能做到这一点?

1 回答

  • 0

    不要使用 text() ,因为它只与节点的直接文本子项相关:

    //div[@class="class1" and contains(., "Text1") and contains(., "Text2")]
    

相关问题