- 作为用户
- 当我转到某个页面时
- 然后有一个元素向下滚动到 View 中
有一个link
我要 click
在那个元素上。
有时它会起作用,但我如何等待它完成向下滚动,然后 click
在元素上?
Thread.sleep(1000)
可行,但我想知道有更好的方法吗?
我正在使用的工具:
Java
Selenium
最佳答案
使用 webdriver 等待元素可见或可单击。尝试以下代码。
WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("Id here"))).click();
或者
WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.elementToBeClickable(By.id("Id here"))).click();
请注意:除了 ID,您还可以放置任何定位器,例如 xpath、class、CSS。我在此处提供了一个 ID 示例。
关于java - 如何等待页面上滚动的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54689036/