获取父元素包含特定文本的元素的XPath

时间:2014-03-10 17:28:16

标签: xpath selenium-webdriver

我的代码如下所示,我想点击“查看详细信息”,但标签p包含的文字为“都柏林” 我怎样才能获得xpath?

<div class="office-name">
    <p class="">Dublin</p>
    <p class="abc">
        <a target="abc" >View map</a>
        <a href="">View details</a>
    </p>
</div>

2 个答案:

答案 0 :(得分:1)

尝试

//p[contains(text(), 'Dublin')]
 /following-sibling::p[@class="abc"][1]
     /a[contains(text(),'View details')]

答案 1 :(得分:0)

我假设这是html的样子:

<div class="office-name">
    <p class="">Dublin
        <a target="abc" >View map</a>
        <a href="">View details</a>
    </p>
    <p class="abc">
        <a target="abc" >View map</a>
        <a href="">View details</a>
    </p>
</div>

鉴于此,一个可行的xpath是:

//p[contains(text(), 'Dublin')]/a[contains(text(),'View details')]

好的,抱歉,我误解了你的HTML。此选择器可以使用,但我不知道是否支持following

//div[@class='office-name']/p[contains(text(), 'Dublin')]/following::p/a[contains(text(),'View details')]
相关问题