java - 如何使用 Selenium 向下滚动?
问题描述
在这个页面中,我需要点击链接Privacy Policy,(它会打开一个新对话框),我必须向下滚动,使用 Selenium 和 Java。
这是我尝试过的:
WebElement element = driver.findElement(By.xpath("/html/body/div[2]"));
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);
这没用。它滚动背景页面而不是活动对话框。
解决方案
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
。
推荐阅读
- docker - Nginx + Docker Compose - 连接到上游时连接()失败(111:连接被拒绝)
- tornadofx - Tornadofx:尝试重新加载/刷新 MainView
- react-native - 使用 react-navigation 版本 5 的中间选项卡按钮
- c# - PUN2:没有 OnPhotonSerializeView 调用更新数组值?
- java - 创建着色 jar 时出错:问题着色 JAR java.lang.SecurityException:Manifest 主要属性的签名文件摘要无效
- python - 如何摆脱python中闪烁的光标框?
- c# - 我如何检查字符串以查看所有字符是否都是整数,长度为 8 个字符并为每个字符抛出一个参数?
- node.js - 将 Xcode 与 expo 一起使用时出现问题,读取当前版本时出现问题?
- r - 如何从 HTML 文档中进行文本挖掘,并将其转换为 CSV 文件?
- javascript - mySQL:如果文本列包含黑名单上的项目,则选择行