这是我的Xpath查询:
driver.findElements(By.xpath("//*[@id=\"continue-button\" and not(contains(@class=\"disabled-button\"))]"));
我无法找到id为continue-button的元素,而不是使用disabled-button类。我显然错误地写了查询,但我不确定这个问题。我不熟悉在这种情况下使用的Xpath语法。
答案 0 :(得分:4)
你的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将打开一个搜索栏,您可以在其中输入选择器表达式。