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加载的网页,页面元素可能不是同时加载出来的,这个时候,就需要我们通过设置一个等待条件,等待页面元素加载完成,避免出现 ...
随机推荐
- Webmagic 爬虫框架 爬取马蜂窝、携程旅游、汽车之家游记信息
WebMagic学习 遇到的问题 Log4j错误 解决:在src目录下添加配置文件 log4j.properties log4j.rootLogger=INFO, stdout, file log4j ...
- webuploader在ie9以下失效原因
在项目中为了兼容ie9,使用webuploader插件,发现在部分电脑的ie9模式下点击无响应,排查原因,最终发现是不是插件有问题,而是ie浏览器没有flash的加载项,最终下载flash,并安装运行 ...
- hbase-读操作
(学习笔记) client和regionServer连接,通过rowkey查找对应的region 多个列簇生成多个storeScaner 每个storeScaner生成一个MemstoreScanne ...
- 一、selenium 环境搭建
本教程演示是在window系统上演示,linux.mac 系统以后会更新. 1.准备工作 1.python2或者python3安装包,官网:https://www.python.org/downloa ...
- propertychange事件导致的IE浏览器堆栈溢出
前段事件做项目,在IE下测试时,发现会报堆栈溢出的错误,其他浏览器正常,于是开始了苦逼的IE查错路程... 由于是在操作了某个输入框之后才出现的错误,所以把重点放到了input的相关事件,最终发现是这 ...
- STS中logback.xml配置文件
<?xml version="1.0" encoding="UTF-8"?> <configuration debug="false ...
- Ubuntu 下的QQ WECHAT FOXMAIL解决方案
原文链接: https://www.lulinux.com/archives/1319 真心很强大. Ubuntu系发行版*安装deepin wine QQ的步骤 1,安装deepin-wine环境: ...
- 前端面试题---vue部分
1.vue的两大核心思想 组件化和数据驱动 2.如何理解vue中的MVVM模式 Model-View-ViewModel(简称为mvvm)是一种设计思想,model层代表数据模型,也可以再model中 ...
- GitHub学习途径
之前学习GitHub的一个pdf文件 作者是stormzhang 我觉得那个pdf教的很详细,我还没看完,正在学习中,学到了文件的clon和在本机如何更新GitHub的文件. 在此分享一下 下载链接h ...
- linux系统下部署DNS正向解析
DNS服务概述: DNS(Domain Name System)域名系统,能够提供域名与IP地址的解析服务. 正向解析 正向解析是指域名到IP 地址的解析过程. 部署DNS正向解析 DNS服务的三个配 ...