selenium+webdriver+python 滚动条(scrollTop)下拉

在Python Selenium中,遇到元素定位不到的问题可能是因为元素位于页面下方。解决方法是利用滚动条将页面拉到底部。对于IE和Firefox,可以使用`driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")`,但Chrome需要使用`driver.execute_script("window.scrollTo(0, document.documentElement.scrollHeight);")`。为了实现跨浏览器的兼容性,需要自定义一个通用的滚动脚本。" 111333452,10185188,JavaScript对象:创建、属性操作与枚举,"['JavaScript', '对象创建', '属性操作', '枚举']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

语言:python
在获取元素的时候,明明元素确切的存在但是无法定位到,原因比较常见的有两个
1.等待时间不够,time.sleep()下看看
2.元素在页面下方,需要将滚动条拉到底部才能找到该元素

滚动条,今天来说说滚动条

通常只需要加入

#将滚动条移动到页面的底部
js="var q=document.documentElement.scrollTop=100000"  
driver.execute_script(js)  
time.sleep(3)  
#将滚动条移动到页面的顶部  
js="var q=document.documentElement.scrollTop=0"  
driver.execute_script(js)  
time.sleep(3)  
#若要对页面中的内嵌窗口中的滚动条进行操作,要先定位到该内嵌窗口,在进行滚动条操作 
js="var q=document.getElementById('id').scrollTop=100000" 
driver.execute_script(js) 
time.sleep(3) 

这个据说对IE和firefox都奏效,但是对chrome这个高逼格的不行!

js="var q=document.body.scrollTop=100000"  
driver.execute_script(js)  
time.sleep(3)  

把documentElement 替换成 body
如果希望脚本通用firefox和chrome,目前还没有大一统的方式,自己动手封装一个吧

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值