c# - 如果 sibling 包含特定文本,则 Xpath 查找第一个 child

标签 c# xpath selenium-webdriver

我需要找到 <li>Test1</li> 的 XPATH在这种情况下,如果列表包含 <li>Sample</li> .

标签示例:

<ul>
        <li>Test1</li>
        <li>Test2</li>
        <li>Sample</li>
</ul>

<ul>
        <li>TestA</li>
        <li>TestB</li>
        <li>TestC</li>
</ul>

可以有多个<ul>标签

使用下面的查询可以找到 li 是否包含 Sample

//ul/li[contains(.,'Sample')]

关于如何查找<li>Test1</li>的xpath的任何想法?

最佳答案

您可以使用此 xpath:

//ul[contains(li,'Sample')]/li[1]

这个想法是首先找到包含 'Sample'li 元素的 ul 元素。然后从中选择该节点集中的第一个 li

关于c# - 如果 sibling 包含特定文本,则 Xpath 查找第一个 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27496980/

相关文章:

java - 部署到不同机器时如何使用selenium/standalone-chrome?

c# - ASP.NET MVC 4 用户身份验证

c# - 替换字符串之间的字符串

java - 如何检索实际数据标签中的文本?

xml - 如何使用 XPath 在 XML 文档中选择多组属性?

selenium - 在哪里可以找到 Se 2 网格集线器配置 json 的架构或文档?

java - Gmail 的密码下一步按钮

c# - 使用 FFTWLib (C#) : Using fftw. dft_r2c_2d() 会导致 vshost.exe 崩溃,如果 vshost 未运行则主程序会崩溃

c# - 通用存储库问题

xml - XPath 表达式中的 Perl 变量