xml – 如何使用带有属性的Xpath和没有其他属性来查找元素

这是我的Xpath查询:

driver.findElements(By.xpath("//*[@id=\"continue-button\" and not(contains(@class=\"disabled-button\"))]"));

我无法使用继续按钮的ID查找元素,而不是使用禁用按钮类.我显然错误地写了查询,但我不确定这个问题.我不熟悉在这种情况下使用的Xpath语法.

最佳答案
你的xpath:

//*[@id=\"continue-button\" and not(contains(@class=\"disabled-button\"))]

应该:

//*[@id="continue-button"][not(contains(@class, "disabled-button"))]

我强烈建议你使用Firebug安装类似firepath的东西来测试你的xpath表达式,然后再在测试中运行它们.

编辑:对于将来可能会看到这一点的人,不再需要像Firebug这样的工具.现在,较新版本的浏览器允许您在各自的DOM查看器中输入XPath和CSS表达式.例如,在Chrome中,热键F12将打开调试工具,而在“元素”选项卡上的热键Ctrl F将打开一个搜索栏,您可以在其中输入选择器表达式.

转载注明原文:xml – 如何使用带有属性的Xpath和没有其他属性来查找元素 - 代码日志