Selenium使用JavaScript操作浏览器的滚动条

发表于:2021-8-20 09:38

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:代码羡    来源:博客园

  在自动化测试的过程中,难免会应用到翻页键,但是webdriver提供的方法都是操作当前页面可见的元素,对于未在当前范围展示的翻页键,该如何操作呢?
  小编在这里介绍一种方法:使用JavaScript操作浏览器的滚动条。
  · 制造含有滚动条的环境
  #打开百度
  driver=webdriver.Firefox()
  driver.get("https://www.baidu.com/")
  #搜索selenium,制造含有滚动条的环境
  kw=driver.find_element_by_id("kw")
  kw.send_keys("selenium")
  su=driver.find_element_by_id("su")
  su.click()
  · 操作滚动条
  #拖动滚动条至底部
  js1="document.documentElement.scrollTop=10000"
  driver.execute_script(js1)
  #拖动滚动条至顶部
  js2="document.documentElement.scrollTop=0"
  driver.execute_script(js2)
  运行后就能操控滚动条在顶部和底部之间跳转了,scrollTop为0时,表示正哥页面的顶端,设置值为10000(大于等于整个页面的长度)时,就可以滚动到底部。
  上面展示的是上下方向的滚动条,接下来介绍左右方向的滚动条的操作方法。
  #左右方向的滚动条可以使用window.scrollTo(左边距,上边距)方法
  #example
  js="window.scrollTo(200,1000)"
  driver.execute_script(js)
  左边距和上边距的值可以自行设置,源码奉上,敬请指教。
  from selenium import webdriver
  import time
  #打开百度
  driver=webdriver.Firefox()
  driver.get("https://www.baidu.com/")
  #搜索selenium,制造含有滚动条的环境
  kw=driver.find_element_by_id("kw")
  kw.send_keys("selenium")
  su=driver.find_element_by_id("su")
  su.click()
  time.sleep(2)
  #拖动滚动条至底部
  js1="document.documentElement.scrollTop=10000"
  driver.execute_script(js1)
  time.sleep(3)
  #拖动滚动条至顶部
  js2="document.documentElement.scrollTop=0"
  driver.execute_script(js2)
  time.sleep(3)
  driver.quit()
  '''
  #左右方向的滚动条可以使用window.scrollTo(左边距,上边距)方法
  #example
  js="window.scrollTo(200,1000)"
  driver.execute_script(js)

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号