似乎无法找到包含双引号的值的 XPath

如何解决似乎无法找到包含双引号的值的 XPath

我已经通读了论坛,显然几乎没有人会遇到带有双引号值的 XPath 查找问题,我发现的大多数帖子都谈到查找具有单引号和双引号值的元素的 Xpath,所以我决定问这个问题,如果已经在其他地方回答了这个问题,我深表歉意。

无论如何,我想找到的元素或多或少是这样的:

<a class="product" title="REALIZE  "WHY  NO.T"" width="454" height="423" alt="" id="">
    </a>

我尝试使用 Selenium Webdriver 多次更改 XPath,但没有成功

'//a[@title="REALIZE "WHY  NO.T""]' 

'//a[@title="REALIZE \"WHY  NO.T\""]'

"//a[@title="REALIZE \"WHY  NO.T\""]"

这些是我尝试过的一些,还有一些,但我没有保存所有尝试过的

我觉得这可能是我错过了一些非常基本的东西,但我一直在寻找答案几个小时没有成功

解决方法

你说“我想找到的元素或多或少是这样的:”

“多还是少”?这到底是什么意思?是更像这样,还是更像这样?如果我们不知道它到底是什么样子,我们如何帮助您?

然后你说:

<a class="product" title="REALIZE  "WHY  NO.T"" width="454" height="423" alt="" id="">
    </a>

但这不是格式良好的 XML。解析器应该如何确定 title 属性结束的位置? XML 解析器应该在那时将其丢弃。

好的,您可能正在使用 HTML 解析器而不是 XML 解析器,并且 HTML 解析器会尝试理解您扔给它们的任何旧垃圾。但我不知道 HTML 解析器将如何处理此输入。 HTML 解析器很聪明,但它们不够聪明,无法确定这些引号中哪些是属性值的一部分,哪些标记了属性值的开始和结束。它可能变成了与您期望的完全不同的东西,这就是您的 XPath 表达式不起作用的原因。

,

我会推荐 右键单击想要的元素 > 单击检查元素 > 在控制台中查看元素 > 复制 xpath > 粘贴它并分析它的输出方式。

然后我会将其与您当前的解决方案进行比较,并可能会调整一两件事。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?