我有两个元素可以等待,我想等待
直到它们中的任何一个出现在页面上。
我正在尝试使用xpath
定位器。但它不起作用。
By.xpath("//*[(contains(@id,'idNumber1')) or (contains(@id,'idNumber2'))]"));
这可以实现吗?
请帮帮我。
最佳答案
可以使用 ExpectedConditions.or()
等待页面中的两个元素之一:
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.or(
ExpectedConditions.elementToBeClickable(By.id("idNumber1")),
ExpectedConditions.elementToBeClickable(By.id("idNumber2"))
));
您还可以使用逗号 ,
与 CSS 选择器执行 OR
操作:
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("#idNumber1, #idNumber2"));
关于java - 如何使用 selenium xpath 等待页面中的两个元素之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45166181/