1. js2 = "window.scrollTo(0,0);" #括号中为坐标

当不知道需要的滚动的坐标大小时:

  1. weizhi2 = driver.find_element_by_id("goldLeaseApp_bClientID") #先定位到一个元素
  2. driver.execute_script("arguments[0].scrollIntoView();", weizhi2) #让其滚动到这个坐标
  3. arguments[0].scrollIntoView()为固定写法

参考链接

参考代码:

使用 JS 滑动纵向滚动条

  1. from selenium import webdriverfrom time import sleep
  2. # driver = webdriver.Chrome()driver = webdriver.Firefox()
  3. driver.get("http://www.baidu.com")
  4. driver.find_element_by_id('kw').send_keys("storm")
  5. driver.find_element_by_id('su').click()
  6. js1 = "window.scrollTo(0, document.body.scrollHeight)"#滑动滚动条到底部
  7. js2 = "window.scrollTo(0,0)"#滑动到顶部
  8. js3 = "window.scrollTo(0,200)"#向下移动200像素
  9. js4 = "arguments[0].scrollIntoView();"#滑动滚动条到某个指定的元素
  10. sleep(2) #等待页面加载完,注意观察滚动条目前处于最上方
  11. driver.execute_script(js1) #执行js1,将滚动条滑到最下方
  12. sleep(2) #加等待时间,看效果
  13. driver.execute_script(js2) #执行js2,将滚动条滑到最上方
  14. sleep(2) #加等待时间,看效果
  15. driver.execute_script(js3) #执行js3,将滚动条向下滑到200像素
  16. sleep(2) #加等待时间,看效果driver.execute_script(js2) #执行js2,将滚动条滑到最上方sleep(2)
  17. ele = driver.find_element_by_id('con-ar') #定位一个元素driver.execute_script(js4,ele) #滑动到上面定位的元素的地方
  18. sleep(2)
  19. driver.quit()
  20. 以上语句Chrome Firefox 浏览器测试都没问题

使用 JS 滑动横向滚动条

  1. from selenium import webdriverfrom time import sleep
  2. driver = webdriver.Chrome()# driver = webdriver.Firefox()driver.get("http://www.baidu.com")
  3. driver.find_element_by_id('kw').send_keys("storm")
  4. driver.find_element_by_id('su').click()
  5. driver.set_window_size(500,500) #缩小浏览器窗口,使之出现横向滚动条
  6. js5 = "window.scrollTo(document.body.scrollWidth,0)"
  7. js6 = "window.scrollTo(0,0)"
  8. js7 = "window.scrollTo(200,0)"
  9. driver.execute_script(js5) #移动到最右边
  10. sleep(2)
  11. driver.execute_script(js6) #移动到最左边
  12. sleep(2)
  13. driver.execute_script(js7) #向右移动200像素
  14. sleep(2)
  15. driver.quit()

操作内嵌滚动条

内嵌滚动条,一般嵌在一个iframe 里面,先切到要操作滚动条所在的iframe里面即可

  1. from selenium import webdriver
  2. from time import sleep
  3. driver = webdriver.Chrome()
  4. # driver = webdriver.Firefox()
  5. driver.get("http://sahitest.com/demo/iframesTest.htm")
  6. sleep(2)
  7. driver.switch_to.frame(1)#1代表id=1frame(框架)
  8. js5 = "window.scrollTo(0,200)"driver.execute_script(js5) #向下移动200像素sleep(2)
  9. driver.quit()

多次滑动示例

  1. from selenium import webdriver
  2. from time import sleep
  3. from selenium.webdriver.common.keys import Keys
  4. driver = webdriver.Chrome()
  5. driver.implicitly_wait(10)
  6. driver.maximize_window()
  7. driver.get("http://www.taobao.com")
  8. title = driver.title#title为当前页面标题
  9. if title == '淘宝网 - 淘!我喜欢':
  10. print('成功跳转')
  11. else:
  12. print('跳转失败')
  13. driver.find_element_by_css_selector("#q").send_keys("手机壳")#在搜索框中输入手机壳
  14. driver.find_element_by_css_selector(".btn-search").click()#点击淘宝搜索
  15. sleep(2)
  16. aaa = "window.scrollTo(0,500);" #设置右侧下拉滚动坐标为500,底部(左右滚动条)为0
  17. bbb = "window.scrollTo(0,800);"
  18. ccc = "window.scrollTo(0,1000);"
  19. driver.execute_script(aaa)#滑动第一次
  20. sleep(2)
  21. driver.execute_script(bbb)#再次滑动至更底部
  22. sleep(2)
  23. driver.execute_script(ccc)#再次滑动至更底部

python3 + selenium 使用 JS操作页面滚动条的更多相关文章

  1. Python selenium webdriver设置js操作页面滚动条

    js2 = "window.scrollTo(0,0);" #括号中为坐标 当不知道需要的滚动的坐标大小时: weizhi2 = driver.find_element_by_id ...

  2. java selenium webdriver处理JS操作窗口滚动条

    未经作者允许,禁止转载!!! java selenium webdriver处理JS操作窗口滚动条 java selenium webdriver处理JS操作窗口滚动条 import org.open ...

  3. Selenium with Python 005 - 调用js操作页面元素

    WebDriver提供了execute_script()方法来执行JavaScript方法,格式如 driver.execute_script(script,*args) 执行js一般有两种场景,一是 ...

  4. js介绍,js三种引入方式,js选择器,js四种调试方式,js操作页面文档DOM(修改文本,修改css样式,修改属性)

    js介绍 js运行编写在浏览器上的脚本语言(外挂,具有逻辑性) 脚本语言:运行在浏览器上的独立的代码块(具有逻辑性) 操作BOM 浏览器对象盒子 操作DOM 文本对象 js三种引入方式 (1)行间式: ...

  5. F12修改html进行本地js操作页面元素

    F12修改html进行本地js操作页面元素

  6. 前端(十二)—— JavaScript基础操作:if语句、for循环、while循环、for...in、for...of、异常处理、函数、事件、JS选择器、JS操作页面样式

    JavaScript基础操作 一.分支结构 1.if语句 if 基础语法 if (条件表达式) { 代码块; } // 当条件表达式结果为true,会执行代码块:反之不执行 // 条件表达式可以为普通 ...

  7. selenium 调用JS操作滚动条(java)来解决element not clickable的问题

    今天在运行自动化用例的时候,发现总是某个元素提示not  clickable.分析原因有可能是页面右下角那个大大的top图标,刚好挡住了我要点击的元素.要解决就得拉动页面,就需要操作页面上的滚动条. ...

  8. selenium+Python(Js处理浏览器滚动条)

    控制浏览器滚动条 有时候我们需要控制页面滚动条上的滚动条,但滚动条并非页面上的元素,这个时候就需要借助 js 是来进行操作.一般用到操作滚动条的会两个场景: 注册时的法律条文需要阅读,判断用户是否阅读 ...

  9. selenium常用命令--操作页面元素及获取元素内容整理

    selenium常用命令之操作页面元素及获取元素内容的事件整理 例子:  /**id <input type="text" id="phone" name ...

随机推荐

  1. Mysql忘记数据库密码以及用户授权案例展示

    Mysql忘记数据库密码以及用户授权案例展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大家在学习MySQL时如果很长一段时间不使用密码是不是就忘记MySQL的管理密码啦?这种 ...

  2. NPOI学习笔记

    NPOI最简单的创建一个Excel,并且在指定单元格内填写一些数据 HSSFWorkbook workbook = new HSSFWorkbook(file); ISheet sheet = wor ...

  3. spring中用到了哪些设计模式

    spring中用到了哪些设计模式?(顺丰) spring中常用的设计模式达到九种,我们举例说明: 第一种:简单工厂 又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种G ...

  4. 正方体旋转demo

    接着上一篇博客的内容顺藤摸瓜往下想,既然stage有景深这个概念,可以表达3D场景,那么这个stage就可以呈现立体几何咯,于是自己写了个Cubic Demo 一个正方体有6个面,我们把一个正方体平铺 ...

  5. Phalcon的Mvc结构及启动流程(部分源码分析)

    Phalcon本身有支持创建多种形式的Web应用项目以应对不同场景,包括迷你应用.单模块标准应用.以及较复杂的多模块应用 创建项目 Phalcon环境配置安装后,可以通过命令行生成一个标准的Phalc ...

  6. 微信小程序开发(1) 天气预报

    本文介绍如何使用微信小程序开发天气预报功能. 一.项目文件列表 二.小程序配置 使用app.json文件来对微信小程序进行全局配置,决定页面文件的路径.窗口表现.设置网络超时时间.设置多 tab 等. ...

  7. MyBatis全局配置文件mybatis-config.xml

    1.在官方下载的mybatis-3.4.5.zip压缩包中,有我们需要的mybatis核心jar包和mybatis的快速入门的pdf文件 在mybatis的快速入门的pdf文件中,复制如下代码到我们项 ...

  8. pycharm永久激活(转)

    机器上安装的pycharm失效了,注册服务器也不管用了.网上找了一个比较满意的激活方法,推荐给大家: 第一步:下载jar包: 此jar包的目的就是让截获截止时间并骗过pycharm; 百度云下载地址  ...

  9. TCP网络协议通信原理(客户端和服务器端)

    下面直接用代码来说明TCP协议的基础知识: 服务器端代码块: from socket import * from time import ctime ''' 指定主机地址.工作端口号.接收缓存的长度 ...

  10. dp之免费馅饼

    免费馅饼 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...