java - 使用 selenium 将元素滚动到屏幕中间
问题描述
有没有办法将元素滚动到屏幕中间?我试过了:
((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();", element);
但它总是在顶部滚动。
解决方案
滚动视图()
该scrollIntoView()
方法将指定元素滚动到浏览器窗口的可见区域。
句法 :
element.scrollIntoView(alignTo)
参数 :
alignTo(Boolean) :可选参数,其中:
true
: 元素的顶部将与可滚动祖先可见区域的顶部对齐false
:元素的底部将与可滚动祖先可见区域的底部对齐。skipped
:它将滚动到元素的顶部。
注意:根据其他元素的布局,某些元素可能无法完全滚动到顶部或底部。
根据您的用例,当您想要将元素滚动到屏幕中间而不是scrollIntoView()
用作替代方案时,您可以使用以下任一选项滚动窗口:
- 向下滚动:
scroll()
((JavascriptExecutor)driver).executeScript("scroll(0, 250);");
window.scrollBy()
((JavascriptExecutor)driver).executeScript("window.scrollBy(0,250)", "");
推荐阅读
- python - Binary search algorithm for 2D array Python
- javascript - “警告:无法对未安装的组件执行 React 状态更新。”
- flutter - 如何使用提供程序包在颤振中收听更改并重建小部件?
- google-apps-script - 如何部署 Google Script 项目以便我的所有 Google 表格都可以访问它?
- javascript - JavaScript 支持拆箱还是只支持自动装箱?
- spring - 什么是控制所需请求正文丢失异常抛出的正确方法?
- python - 使用字符串的upper方法时,为什么要在upper后面加上()?
- java - 在 AWS EC2 实例上连接 imap.googlemail.com 时出现超时错误
- laravel - Laravel 中的 getClientOriginalExtension() 和 Extension() 有什么区别?
- swift - Swift将对象添加到数组会追加副本而不是引用?