【发布时间】:2013-11-26 22:41:21
【问题描述】:
我在 Java 中使用 Webdriver,我需要等待具有动态 ID 的元素显示在网页上。
例如,对于隐式等待,我有以下语句: WebDriverWait 等待 = 新的 WebDriverWait(驱动程序, 30); wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("dynamicID")))
dynamicID 是我正在等待的元素 ID 的前缀,通常它带有一个我无法预测的数字。
这里有一些很好的答案Finding an element by partial id with Selenium in C#。
我试图将我的代码更改为
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id(^="dynamicID")))
它不工作。
我尝试使用页面工厂:
@FindBy(id ^= "dynamicID")
private WebElement something;
它也不起作用。
所以我有问题:
1. 如何在我的隐式等待语句中使用 ID 部分匹配?
2.如果我正在使用页面工厂,并假设@FindBy 正在工作,我如何在隐式等待中使用这个元素something?
wait.until(ExpectedConditions.visibilityOfElementLocated(something))
不工作。
非常感谢。
【问题讨论】:
标签: java webdriver selenium-webdriver