Python selenium webdriver设置js操作页面滚动条
js2 = "window.scrollTo(0,0);" #括号中为坐标
当不知道需要的滚动的坐标大小时:
weizhi2 = driver.find_element_by_id("goldLeaseApp_bClientID") #先定位到一个元素 driver.execute_script("arguments[0].scrollIntoView();", weizhi2) #让其滚动到这个坐标 arguments[0].scrollIntoView()为固定写法
参考代码:
使用 JS 滑动纵向滚动条
from selenium import webdriverfrom time import sleep # driver = webdriver.Chrome()driver = webdriver.Firefox() driver.get("http://www.baidu.com") driver.find_element_by_id('kw').send_keys("storm") driver.find_element_by_id('su').click() js1 = "window.scrollTo(0, document.body.scrollHeight)"#滑动滚动条到底部 js2 = "window.scrollTo(0,0)"#滑动到顶部 js3 = "window.scrollTo(0,200)"#向下移动200像素 js4 = "arguments[0].scrollIntoView();"#滑动滚动条到某个指定的元素 sleep(2) #等待页面加载完,注意观察滚动条目前处于最上方 driver.execute_script(js1) #执行js1,将滚动条滑到最下方 sleep(2) #加等待时间,看效果 driver.execute_script(js2) #执行js2,将滚动条滑到最上方 sleep(2) #加等待时间,看效果 driver.execute_script(js3) #执行js3,将滚动条向下滑到200像素 sleep(2) #加等待时间,看效果driver.execute_script(js2) #执行js2,将滚动条滑到最上方sleep(2) ele = driver.find_element_by_id('con-ar') #定位一个元素driver.execute_script(js4,ele) #滑动到上面定位的元素的地方 sleep(2) driver.quit() 以上语句Chrome 和 Firefox 浏览器测试都没问题 #使用 JS 滑动横向滚动条 from selenium import webdriverfrom time import sleep driver = webdriver.Chrome()# driver = webdriver.Firefox()driver.get("http://www.baidu.com") driver.find_element_by_id('kw').send_keys("storm") driver.find_element_by_id('su').click() driver.set_window_size(500,500) #缩小浏览器窗口,使之出现横向滚动条 js5 = "window.scrollTo(document.body.scrollWidth,0)" js6 = "window.scrollTo(0,0)" js7 = "window.scrollTo(200,0)" driver.execute_script(js5) #移动到最右边 sleep(2) driver.execute_script(js6) #移动到最左边 sleep(2) driver.execute_script(js7) #向右移动200像素 sleep(2) driver.quit() #操作内嵌滚动条 #内嵌滚动条,一般嵌在一个iframe 里面,先切到要操作滚动条所在的iframe里面即可 from selenium import webdriver from time import sleep driver = webdriver.Chrome() # driver = webdriver.Firefox() driver.get("http://sahitest.com/demo/iframesTest.htm") sleep(2) driver.switch_to.frame(1)#1代表id=1的frame(框架) js5 = "window.scrollTo(0,200)"driver.execute_script(js5) #向下移动200像素sleep(2) driver.quit() #多次滑动示例 from selenium import webdriver from time import sleep from selenium.webdriver.common.keys import Keys driver = webdriver.Chrome() driver.implicitly_wait(10) driver.maximize_window() driver.get("http://www.taobao.com") title = driver.title#title为当前页面标题 if title == '淘宝网 - 淘!我喜欢': print('成功跳转') else: print('跳转失败') driver.find_element_by_css_selector("#q").send_keys("手机壳")#在搜索框中输入手机壳 driver.find_element_by_css_selector(".btn-search").click()#点击淘宝搜索 sleep(2) aaa = "window.scrollTo(0,500);" #设置右侧下拉滚动坐标为500,底部(左右滚动条)为0 bbb = "window.scrollTo(0,800);" ccc = "window.scrollTo(0,1000);" driver.execute_script(aaa)#滑动第一次 sleep(2) driver.execute_script(bbb)#再次滑动至更底部 sleep(2) driver.execute_script(ccc)#再次滑动至更底部
Python selenium webdriver设置js操作页面滚动条的更多相关文章
- java selenium webdriver处理JS操作窗口滚动条
未经作者允许,禁止转载!!! java selenium webdriver处理JS操作窗口滚动条 java selenium webdriver处理JS操作窗口滚动条 import org.open ...
- Python selenium webdriver设置加载页面超时
1. pageLoadTimeout: pageLoadTimeout方法用来设置页面完全加载的超时时间,完全加载即页面全部渲染,异步同步脚本都执行完成.没有设置超时时间默认是等待页面全部加载完成才 ...
- python3 + selenium 使用 JS操作页面滚动条
js2 = "window.scrollTo(0,0);" #括号中为坐标 当不知道需要的滚动的坐标大小时: weizhi2 = driver.find_element_by_id ...
- 【Python + Selenium】之JS定位总结
感谢:小琰子 Python+Selenium 脚本中的一些js的用法汇总: 1.滚动条 driver.set_window_size(500,500) js = "window.scroll ...
- Selenium with Python 005 - 调用js操作页面元素
WebDriver提供了execute_script()方法来执行JavaScript方法,格式如 driver.execute_script(script,*args) 执行js一般有两种场景,一是 ...
- Python+Selenium自动化-设置浏览器大小、刷新页面、前进和后退
Python+Selenium自动化-设置浏览器大小.刷新页面.前进和后退 1.设置浏览器大小 maximize_window():设置浏览器大小为全屏 set_window_size(500,5 ...
- Python Selenium Webdriver常用方法总结
Python Selenium Webdriver常用方法总结 常用方法函数 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() 最大化窗口: m ...
- python selenium webdriver入门基本操作
python selenium webdriver入门基本操作 未经作者允许,禁止转载! from selenium import webdriver import time driver=webdr ...
- Python+Selenium自动化-设置等待三种等待方法
Python+Selenium自动化-设置等待三种等待方法 如果遇到使用ajax加载的网页,页面元素可能不是同时加载出来的,这个时候,就需要我们通过设置一个等待条件,等待页面元素加载完成,避免出现 ...
随机推荐
- Spring BeanDefinitionRegistryPostProcessor BeanPostProcessor作用
写博客,写博客,把自己知道的小知识点全部记录,
- Selenium 汇总
- java实验环境搭建,eclise下载与使用
一.1.官方下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载后安装,默认安装即可. 2.在 wind ...
- Oracle--通配符、Escape转义字符、模糊查询语句
一.通配符通配符描述示例 %:匹配包含零个或更多字符的任意字符串.WHERE title LIKE '%computer%' 将查找处于书名任意位置的包含单词 computer 的所有书名. ...
- Qt5.12.2开发Android环境搭建
Qt-Android开发环境概要qt-opensource-windows-x86-5.12.2----armv7jdk-8u201-windows-x64android-ndk-r18b-windo ...
- 10.spring-boot基于角色的权限管理页面实现
10.spring-boot基于角色的权限管理页面实现
- FastDFS数据存储
1. 数据存储 在fdfs传一份文件时,通常会返回下面的一串字符,这包含了该文件在服务器端一些存储信息 M00/00/00/wKg4C1tFmTWAFPKBAADdeFFxlXA240.png 下面解 ...
- Eclispe 错误:找不到或无法加载加载主类
解决办法: Project --> Clean Clean 操作会将该 project 以前的所有编译信息清空,然后默认将所有工程的所有 .java 文件都进行一次编译,这样的话就可以方便的进行 ...
- Linux 查看网络状态工具
1. iftop 效果如下图: 界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的. 中间的<= =>这两个左右箭头,表示的是流量的方向. TX:发送流量RX:接收流量T ...
- 7行代码,彻底告别python第三方包import导入问题!
最近有不少小伙伴咨询关于pyton第三方包导入的问题,今天我们就来聊聊第三方包导入那些事. 随着对python学习的渐入臻境,越来越多的小伙伴们开始导入自己所需的第三方包,实现各种各样的功能.但是,他 ...