javascript - 如何在没有 window.scrollBy(x, y) 的情况下上下滚动 HTML DOM(我需要在一个元素中向下滚动)

标签 javascript html css selenium dom

我想向下滚动我选择的文档。 尝试了以下代码。

window.scrollTo(x, y);
const body = document.getElementsByClassName("body")[0];
body.scrollTo(x, y);

但是,有时会返回“undefined”。

编辑 1: 我得到了解决方案。提供了以下对我有帮助的代码片段。

  1. 滚动孔页面:

window.scrollTo(x, y)

  1. 要滚动选定的 div(它应该有一个长区域以便能够向下滚动):

document.getElementsByClassName("body")[0].scrollTo(x, y)

最佳答案

这里是滚动到 DOM 中特定元素的代码。

C#

var element = driver.FindElement(By.XPath(xpath));
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
js.ExecuteScript("arguments[0].scrollIntoView(true);", element);

Java

var element = driver.FindElement(By.XPath(xpath));
JavaScriptExecutor js = (JavaScriptExecutor)driver;
js.executeScript("arguments[0].scrollIntoView(true);", element);

如果这不能解决您的问题,请告诉我。很乐意进一步提供帮助

关于javascript - 如何在没有 window.scrollBy(x, y) 的情况下上下滚动 HTML DOM(我需要在一个元素中向下滚动),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57216461/

相关文章:

javascript - 在 ng-repeat 中获取元素的比例在 Angularjs 中返回未定义

html - 无法点击链接;考虑重叠(填充?边距?)

html - 图片只占一页

html - Bootstrap 响应表 -> 用列更改行

javascript - CSS Toggable 选项卡使用 Javascript 动态更改

javascript - dataURL(文件/图像/pdf 任何东西)到 base64 ionic 2

javascript - Angularjs 具有 ng 重复的多重动态过滤器

javascript - Javascript 的++ 和 -- 运算符的非典型用途

html - 如何将一个多行的垂直列表导出到水平面上有标题的excel表中?

javascript - 如何从输入中输出值