首页 > 解决方案 > 如何使用 Selenium 向下滚动?

问题描述

这个页面中,我需要点击链接Privacy Policy,(它会打开一个新对话框),我必须向下滚动使用 Selenium 和 Java。

这是我尝试过的:

WebElement element = driver.findElement(By.xpath("/html/body/div[2]"));
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);

这没用。它滚动背景页面而不是活动对话框。

标签: javaseleniumxpathcss-selectorswebdriverwait

解决方案


div您要滚动的 id 具有唯一的 id,您需要先获取对它的引用:

WebElement element = driver.findElement(By.id('document-content'));

之后,您可以获得该隐私政策 div 中的最后一个孩子:

List<WebElement> children = element.findElements(By.tagName("div"));
assertTrue(children.size() > 0);
WebElement elementToScrollTo = children.get(children.size()-1);

您现在可以滚动到elementToScrollTo


推荐阅读