如何等待滚动到页面的元素

时间:2019-02-14 11:08:48

标签: java selenium webdriver

  • 作为用户
  • 当我转到页面时
  • 然后有一个元素可以向下滚动到视图中

我想在该元素上link click。 有时它可以工作,但是我如何等待它完成向下滚动,然后在元素上click

Thread.sleep(1000)可以工作,但我想知道是否有更好的方法?

我正在使用的工具:

Java
Selenium 

1 个答案:

答案 0 :(得分:2)

使用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示例。