datagrid底部显示水平滚动_python自动化之JS处理滚动条

滚动条操作
浏览器滚动条并没有提供相应的操作方法。在这种情况下,就可以借助JavaScript也就是JS来控制浏览器的滚动条。
WebDriver提供了execute_script()方法来执行JavaScript代码。
js="window.scrollTo(100,450);"
driver.execute_script(js)
当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的。
这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上。
滚动条是无法直接用定位工具来定位的。selenium里面也没有直接的方法去控制滚动条,这时候只能借助JS了,还好selenium提供了一个操作js的方法:
execute_script(),可以直接执行js的脚本。
--scrollHeight 获取对象的滚动高度。
--scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离。
--scrollTop 设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离。
--scrollWidth 获取对象的滚动宽度。

代码参考:

# coding:utf-8from time import sleepfrom selenium import webdriverdriver = webdriver.Chrome()driver.get("https://www.baidu.com")print(driver.name)# 滚动到底部js = "window.scrollTo(0,document.body.scrollHeight)"driver.execute_script(js)# ## 回到顶部# def scroll_top():#     if driver.name == "chrome":#        js = "var q=document.body.scrollTop=0" # Chrome浏览器不管用的话,可以这样试试#     else:#         js = "var q=document.documentElement.scrollTop=0"#     return driver.execute_script(js)# 滚动到顶部js = "window.scrollTo(0,0)"driver.execute_script(js)sleep(5)# 滚动到底部js="var q=document.documentElement.scrollTop=10000"driver.execute_script(js)sleep(5)# 聚焦元素target = driver.find_element_by_link_text("hao123")driver.execute_script("arguments[0].scrollIntoView();", target)sleep(3)driver.quit()

关注公众号:Python爬虫数据分析挖掘,免费获取更多开源项目源码

10fbbcdb0246aef6bce73744667b5eca.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值