我在 Java 中使用 Webdriver,我需要等待具有动态 ID 的元素显示在网页上。
例如,对于隐式等待,我有以下语句: WebDriverWait wait = new WebDriverWait(driver, 30); wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("dynamicID")))
dynamicID
是我正在等待的元素 ID 的前缀,通常它带有一个我无法预测的数字。
这里有一些很好的答案Find 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))
不起作用。
首先十分感谢。