我正在为我们的 Web 应用程序编写一些测试。当我在 Firefox XPath-Checker 插件中使用这个 XPath 时,它工作得很好:
//div[contains(@class, "my-class") and @data-custom-attr="id")]
但是如果像这样在硒代码中使用它:
(new WebDriverWait(driver, MAX_TIMEOUT_FOR_ELEMENT_LOADING_IN_SECONDS)).until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(@class, \"my-class\") and @data-custom-attr=\"id\")]"));
抛出超时异常。
为什么 xpath 查询可以直接在浏览器中工作,而不能在 selenium 测试中工作?是否有关于我必须考虑的文件?
作为旁注:如果我使用确切的路径 /html/body/div/... 等,它确实有效。我上面的示例的 css 选择器挂件也不起作用。