当前位置: 首页 > 知识库问答 >
问题:

包含“\r\n”的XPath在页面上找不到任何元素

楚和悌
2023-03-14

有一个页面带有一些HTML:

<ul>
<li>
    <div>
          text1 
    </div>
    <span>
        text2
    </span>
</li>
</ul>

并且我想通过文本查找元素到LI中。如果我试图用XPath找到它:

    null

[contains(text(),'text1\r\ntext2')]/accentor::li“

没有建立任何元素。我尝试在xpath前面使用@,如:“@[contains(text(),'text1\r\ntext2')]/accentor::li”

但也没有结果。我应该找到整个文本的元素。因为我不知道span中会有什么,div中会有什么。我不明白为什么element.text=“text1\r\ntext2”。但是xpath“[contains(text(),'text1\r\ntext2')]”不起作用。你有什么建议或意见吗?我会很高兴看到的谢谢。

共有1个答案

常小白
2023-03-14

您可以使用normalize-space,我想它也适合您的情况:

//*[normalize-space(text()='text1 text2')]/ancestor::li 
 类似资料:
  • 我正在尝试用Selenium WebDriver、Java、Junit和Cucumber BDD来自动化一个航空公司的web应用程序。我能够创建一个简单的场景,比如选择一个带有出发日期的单程航班,然后选择一个座位,然后继续到付款页面。我能够写出所有的测试步骤,直到到达付款页面。Selenium成功地对所有页面中的所有元素执行了操作,但对支付页面中的任何元素执行了操作,却不成功。我尝试了隐式wait

  • 我对在Selenium中使用python还很陌生。

  • 我试图通过它包含的文本找到一个元素,然后检查该元素是否也有指向某个特定位置的链接。我正在使用Selenium/Java。 我试图通过文本找到元素,如果我可以的话,以最大限度地减少更新UI时需要做的更改(减少测试维护成本)。 我尝试了以下操作,但assert失败了,因为getAttribute最终为空。 要查找/使用的元素的HTML: 我对硒还是一个新手,所以任何帮助都非常感谢。

  • 问题内容: By Company   我需要捕获上述元素的xpath。我尝试了以下替代方法,但在Chrome中似乎没有任何效果。您能否建议其他选择。 问题答案: 要查找元素: 您可以使用以下xpath之一: 使用: 使用: 但是,理想情况下,您可能希望避免使用 NO-BREAK SPACE 字符,并使用以下任一解决方案: 使用: 使用: 参考 您可以在以下位置找到相关的详细讨论: 使用XPATH搜

  • 问题内容: 如果我搜索单个字符串,则效果很好: 但是我可以在下面的示例中有一个 or 语句吗? 问题答案: 在两个函数调用之间说 或使用函数使xpath不区分大小写