因為用心,才會喜歡

粥雨

Selenium - 元素操作(2) - 页面滚动条

Selenium - 元素操作


函数滚动

  • 一般元素定位,元素如果不在浏览器的可视位置(即可见只是不在可视位置),会自动把元素滚动到可视位置,但也有不会自己滚动的(比较少)。

    • 那我们就可以用selenium的 location_once_scrolled_into_view 就可以滚动到某个元素处,也就是滚动直到这个元素出现在屏幕里。
    # 获取页面元素
    element = driver.find_element_by_id('kw')
    # 移动元素element对象,与当前窗口的中心对齐
    ## 不需要增加括号
    element.location_once_scrolled_into_view

JS滚动

  • 除了代码方式以外,也可以用js来滚动窗口。五个常见方法:

    • 移动到元素 element对象的顶端当前窗口的顶部对齐 :

      # 获取页面元素
      element = driver.find_element_by_id('kw')
      driver.execute_script("arguments[0].scrollIntoView();", element)

    • 移动到元素 element对象当前窗口的中心对齐:

      element = driver.find_element_by_id('kw')
      driver.execute_script("arguments[0].scrollIntoView({block:'center', inline:'center'});", element)

    • 滚动到元素 element对象的底端 当前窗口的底部对齐:

      element = driver.find_element_by_id('kw')
      driver.execute_script("arguments[0].scrollIntoView(false);", element)

    • 滚动到页面顶部

      driver.execute_script("window.scrollTo(0,0)")

    • 滚动到页面底部

      driver.execute_script("window.scrollTo(0 ,document.body.scrollHeight)")
posted @   粥雨  阅读(2788)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
点击右上角即可分享
微信分享提示