selenium - 查找带有闭合标签下方文本的 XPath

标签 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')]

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

请帮忙。

最佳答案

尝试替换

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

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

选择所需的span节点

请注意,此类选择器可以匹配多个元素。为了使其更具体,您可以使用

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

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

还有

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

应该可以解决问题

关于selenium - 查找带有闭合标签下方文本的 XPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51894070/

相关文章:

xpath - Selenium RC XPath 有问题

selenium - 通过 XPath 为 Selenium Web Scraping 选择一个元素

java - Java中如何处理XML相关的异常?

css - 空链接元素上的 XPath 错误

java - ChromeDriver 用selenium JAVA找不到页面上的元素

python - Selenium 网络驱动程序 : not printing text in 'td' tab

python - 如何使用 Selenium 找到对象?

javascript - 如何在 Python 中使用 Selenium 从 JS 提示符中获取 Int

regex - 我们可以在 xpath 值中使用正则表达式吗?

xpath - Google Sheet importXml默认将时间值转换为十进制值