Selenium滚动条处理
Selenium是一个用于Web应用程序自动化测试工具,可以直接运行在浏览器中,针对页元素来进行定位并模仿认为操作。但是却无法控制滚动条,这时候只能借助JS了,selenium提供了一个操作js的方法:execute_script(),可以直接执行js的脚本。
一,控制滚动条纵向移动:
def LongitudinalRolling(num):#num用来修改scrollTop,可以控制右侧滚动条滚动位置,0为滚动到顶部,10000为最底部js = "var q=document.getElementById('id').scrollTop="+numdriver.execute_script(js)
二,控制滚动条横向移动:
#将x,y插入js字符串
def Change_JS(x, y):js = "window.scrollTo(,);"str_js1 = list(js)scrollTo_x = str_js1.index(',')str_js1.insert(scrollTo_x, str(x))js1 = ''.join(str_js1)str_js2 = list(js1)scrollTo_y = str_js2.index(')')str_js2.insert(scrollTo_y, str(y))js2 = ''.join(str_js2)return js2#通过坐标(x, y)控制横向和纵向滚动条
def TransverseRolling(x,y):js = Change_JS(x, y)driver.execute_script(js)
三,控制div内嵌滚动条滚动
#内嵌滚动条滚动
def DivRolling(self,classname,method='div',direction='left', num=0,num2=0):''':param classname: 内嵌div的classname:param method: 内嵌windows/div:param direction: 滚动条滚动方向:param num: 左边距:param num2: 上边距'''try:if method == 'div':if direction == 'top':js = 'document.getElementsByClassName("{}")[0].scrollTop=' \'{}'.format(classname, num)self.driver.execute_script(js)elif direction == 'left':js = 'document.getElementsByClassName("{}")[0].scrollLeft=' \'{}'.format(classname, num)self.driver.execute_script(js)else:passif method == 'window':js = "window.scrollTo({},{})".format(num, num2)return self.driver.execute_script(js)except Exception as e:raise e
Selenium滚动条处理相关推荐
- python selenium滚动条下拉操作汇总
python selenium滚动条下拉操作汇总 1.js脚本直接操作(推荐) from selenium import webdriver from time import sleepbrowser ...
- Selenium滚动条window.scrollTo和window.scrollBy
Selenium操作滚动条有两种方法,一种就是window.scrollTo,另一种是window.scrollBy,既然两个都可以用来操作滚动条,那这两个方法有什么区别呢? 1.window.scr ...
- pyton笔记-part1
1.安装python一定要配置环境变量,python分为2.x,3.x,一般用2.x 2.对python而言可以使用pycharm2.7作为图形化界面工具 3.使用input()函数,注意在键盘输入的 ...
- [Python爬虫] 之五:Selenium 处理滚动条
selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了. 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的.这时候需要借助滚动条来拖 ...
- python滚动条_python中selenium操作下拉滚动条的几种方法汇总
UI自动化中经常会遇到元素识别不到,找不到的问题,原因有很多,比如不在iframe里,xpath或id写错了等等:但有一种是在当前显示的页面元素不可见,拖动下拉条后元素就出来了. 比如下面这样一个网页 ...
- selenium java 滚动条_java+selenium使用JS、键盘滑动滚动条
本篇文章介绍如何使用JS和键盘对象对页面进行滑动滚动条-------------主要针对java做自动化测试的同学 一:使用键盘对象操作滚动条 //导包 importorg.openqa.seleni ...
- Java selenium操作下拉滚动条的几种方法
数据采集中,经常遇到动态加载的数据,我们经常使用selenium模拟浏览器操作,需要多次下拉刷新页面才能采集到所有的数据,就此总结了几种selenium操作下拉滚动条的几种方法 我这里演示的是Java ...
- 使用selenium控制滚动条(非整屏body)
方法原理: (1)使用jQuery CSS 操作 - scrollTop() 方法,设置 <div> 元素中滚动条的垂直偏移,语法:$(selector).scrollTop(offset ...
- Selenium入门11 滚动条控制(通过js)
这一节要有js基础.做web端的UI自动化必须要有html,css,javascript前端基础. 滚动条控制: 1 移动垂直滚动条 document.documentElement.scrollTo ...
最新文章
- 利用nginx的stream模块实现内网端口的转发代理
- 关于Installshield里一些常见问题的解答—艾泽拉斯之海洋女神出品
- shell脚本使得nginx日志每天定时切割压缩
- SEH(结构化异常处理)
- linux 卸载自带java_卸载linux系统自带JDK,安装自己的jdk
- 2017年2月20日 Random Forest Classifier
- centos6.2 64安装mysql_centos6.2 64bit安装mysql+php
- 快过年了,来,来,来!给七大姑八大姨好好解释解释【啥是DBA 】
- html css表格样式模板_Excel报价单模板,完整表格设计,82套多样式选择,拿来就用...
- 论开学第一个月干了点啥
- 爱立信面试,面试官给我出的 C 算法问题
- 数据库逻辑结构设计 → E-R图
- 关系型数据库管理系统
- IDEA生成SerialVersionUID
- 富龙飞联手文创产业研究所,推出国内首个AR+文创建设应用系统
- java四目运算符_小心! JAVA三目运算符
- java web应用开发期末考试_JavaWeb期末考试A卷
- angular-ng new
- 混合个人训练第四十六场(A,B题解) A	数论线代全家桶 (all) B: 看星星 (stars)
- SIP协议及其简单介绍