selenium滚动条实现不同的效果

鳄鱼君

发表文章数:643

Vieu四代商业主题

高扩展、安全、稳定、响应式布局多功能模板。

¥69 现在购买
首页 » Python » selenium滚动条实现不同的效果

selenium中的滚动条是必须要会的操作,有时候我们定位的元素不再当前屏幕中,那么就会报错,这时候我们可以使用selenium来实现滚动的操作,知道找到那个元素为止。一般想实现滚动都是通过driver.execute()执行js代码。

from selenium import webdriver
#设置首选项
option =webdriver.ChromeOptions()
option.add_argument('headless')   

driver=webdriver.Chrome(chrome_options=option)  #第一个参数为驱动的目录,我这里就在当前目录,所以省略了
#第二个参数就是隐藏浏览器操作,我们看不到浏览器打开关闭,都是在后台执行的
driver.execute_script('window.scrollTo(0,document.body.scrollHeight)')  #滚动条滚动到底部
driver.execute_script('document.documentElement.scrollTop=0')  #滚动到顶部

再来看一下通过设置滚动的位置:

driver.execute_script('window.scrollBy(0,1000)')

scrollBy(x,y)中,x为必须参数,表示向右滚动的像素值;y也为必须参数,表示向下滚动的像素值

driver.execute_script('window.scrollTo(0,1000)')

scrollTo(x,y) 中,x为必须参数,表示要在窗口文档显示区左上角显示的文档的x坐标;y也为必须参数,表示要在窗口文档显示区左上角显示的文档的y坐标

driver.execute_script('document.documentElement.scrollTop=10000')
# 10000表示一下拉到底

然后我们就可以实现逐步滚动操作:

 for y in range(30):
        js='window.scrollBy(0,100)'
        driver.execute_script(js)
        time.sleep(0.5)

如果是弹窗滚动的话,也可以使用键盘事件如下:

from selenium.webdriver.common.action_chains import ActionChains #引入鼠标
from selenium.webdriver.common.keys import Keys #引入键盘
    #xpath 定位然后使用键盘向下按键进行滚动
driver.find_element_by_xpath("//*[@class='modal-right']").send_keys(Keys.DOWN)

未经允许不得转载:作者:鳄鱼君, 转载或复制请以 超链接形式 并注明出处 鳄鱼君
原文地址:《selenium滚动条实现不同的效果》 发布于2020-02-17

分享到:
赞(0) 赏杯咖啡

评论 抢沙发

7 + 8 =


文章对你有帮助可赏作者一杯咖啡

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.6主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册