使用封闭标签下的文本查找XPath

时间:2018-08-17 11:08:01

标签: selenium xpath

我有以下HTML。我需要使用DOWN作为关键字来获取XPath。

<span>
    "DEVICE: some random values that I'm not bothered about"
    <span class="c-emoji_plain_text">:sensor_1000_4_1:</span>
    "/interfaces/:/interfaces/:mib2d], TRIGGER: interface_status, MESSAGE: 
    $interface_name is DOWN"
</span>

我在这里面临的问题是,当我使用以下XPath时,无法识别它:

//span[contains(text(),'DOWN')]

我看到使用了子跨度上方的文本,但没有使用其下方的文本。

请帮助。

1 个答案:

答案 0 :(得分:2)

尝试替换

//span[contains(text(),'DOWN')]

使用

//span[contains(.,'DOWN')]

选择所需的span节点

请注意,这样的选择器可以匹配多个元素。要使其更具体,您可以使用

//span[span and contains(.,'DOWN')]

这将匹配包含span子节点以及span子字符串的"DOWN"

//span[contains(text()[2],'DOWN')]

应该可以解决问题