如何使用硒在对话框中向下滚动

时间:2018-10-25 10:04:41

标签: java selenium

this页中, 该表格包括有关 隐私政策 部分的2个验证:

  1. 单击隐私政策的链接,它会打开一个对话框,用户应向下滚动它。
  2. 选中与之相关的复选框

我在以下复选框中没问题, 但我无法向下滚动

enter image description here

我有这种方法可以等待元素被加载:

public void waitForElement(String xPath) {
        WebDriverWait wait = new WebDriverWait(driver, 1);
        wait.until(ExpectedConditions.elementToBeClickable(By.xpath(xPath)));
    }

那么,我如何向下滚动并关闭窗口? 我也不知道在这种情况下应该如何使用waitForElement

这是the repo,它是一个很短的代码。您只需要运行feature文件

1 个答案:

答案 0 :(得分:2)

尝试下面的代码向下滚动模式对话框:

// Wait for modal
WebDriverWait(driver, 5).until(ExpectedConditions.visibilityOfElementLocated(By.id("document-content")));
// Select last child of content div
WebElement element = driver.findElement(By.xpath("//div[@id='document-content']/*[last()]")); 
// Scroll to last child node
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);