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