js处理滚动条操作
2024-08-31 08:23:35
在做UI自动化项目的时候,我们不免会遇到一些页面的内容比较多,导致会有滚动条,但是我们又主要操作当前页面看不到的元素,这怎么办呢?
在我们实际操作过程中,我们肯定是直接滑动鼠标操作就可以完成,但是在做自动化的时候,我们怎么办呢?
今天总结下用js代码来实现滚动条的操作
在selenium中是使用execute_script方法去执行js语句来实现滚动操作的
语句:execute_script("arguments[0].scrollIntoView();", target)
其中这个target就是通过定位元素找到的元素对象
所以滚动的步骤是:
1、通过selenium找到我们需要的元素
2、通过执行js语句,将元素滚动到可见区域
举个栗子:
在我的博客首页中滑动到下一页
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
dr = webdriver.Chrome()
dr.get("https://www.cnblogs.com/LCboss/")
dr.implicitly_wait(3)
# dr.find_element(By.ID, "kw").send_keys("腾讯", Keys.ENTER)
target = dr.find_element(By.XPATH, '//a[contains(text(),"下一页")]')
dr.execute_script("arguments[0].scrollIntoView(false);", target)
还有几种js操作滚动:
移动到元素的底端与当前窗口的底部对齐:dr.execute_script("arguments[0].scrollIntoView(false);", target)
移动到元素的顶端与当前窗口的顶部对齐:dr.execute_script("arguments[0].scrollIntoView();", target)
移动到页面底部:dr.execute_script("window.scrollInTo(0, document.body.scrollHeight)")
移动到页面顶部:dr.execute_script("window.scrollInTo(document.body.scrollHeight,document.body.scrollHeight )")
最新文章
- 洛谷P2158 [SDOI2008]仪仗队
- ajax 请求如何解决乱码
- shiro 从入门到放弃
- linux第10天 msg消息队列
- git创建和删除远程分支
- 框架学习笔记:Unity3D的MVC框架——StrangeIoC
- 转摘 Eclipse智能提示及快捷键
- JS 格式化日期
- Node.js全局对象
- UIButton控件
- Struts学习之值栈的理解
- 懵懵懂懂初识J2EE
- RobHess的SIFT源码分析:综述
- 第三周 IP通信基础回顾
- CentOS 7 实现zabbix agent 自动添加,并链接到指定的模版
- A1073. Scientific Notation
- CCF-棋局评估 201803-04(版本 2.0)------(之前写了一个臃肿的1.0版 ,还沾沾自喜 233)
- java.lang.CharSequence cannot be resolved
- 正则表达式最后的/i是不区分大小写的意思
- hdu 3389 阶梯博弈
热门文章
- treegrid 表格树
- [LeetCode] 843. Guess the Word 猜单词
- [LeetCode] 737. Sentence Similarity II 句子相似度之二
- [LeetCode] 213. House Robber II 打家劫舍之二
- oracle--DG查询同步
- pgsql 的函数
- Using MS Soap toolkit to generate web services .md
- phpredis可视化工具RedisDesktopManager
- linux shell根据端口返回进程号杀死进程的方法
- HTTP之URL的组成部分