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滚动条处理相关推荐

  1. python selenium滚动条下拉操作汇总

    python selenium滚动条下拉操作汇总 1.js脚本直接操作(推荐) from selenium import webdriver from time import sleepbrowser ...

  2. Selenium滚动条window.scrollTo和window.scrollBy

    Selenium操作滚动条有两种方法,一种就是window.scrollTo,另一种是window.scrollBy,既然两个都可以用来操作滚动条,那这两个方法有什么区别呢? 1.window.scr ...

  3. pyton笔记-part1

    1.安装python一定要配置环境变量,python分为2.x,3.x,一般用2.x 2.对python而言可以使用pycharm2.7作为图形化界面工具 3.使用input()函数,注意在键盘输入的 ...

  4. [Python爬虫] 之五:Selenium 处理滚动条

     selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了. 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的.这时候需要借助滚动条来拖 ...

  5. python滚动条_python中selenium操作下拉滚动条的几种方法汇总

    UI自动化中经常会遇到元素识别不到,找不到的问题,原因有很多,比如不在iframe里,xpath或id写错了等等:但有一种是在当前显示的页面元素不可见,拖动下拉条后元素就出来了. 比如下面这样一个网页 ...

  6. selenium java 滚动条_java+selenium使用JS、键盘滑动滚动条

    本篇文章介绍如何使用JS和键盘对象对页面进行滑动滚动条-------------主要针对java做自动化测试的同学 一:使用键盘对象操作滚动条 //导包 importorg.openqa.seleni ...

  7. Java selenium操作下拉滚动条的几种方法

    数据采集中,经常遇到动态加载的数据,我们经常使用selenium模拟浏览器操作,需要多次下拉刷新页面才能采集到所有的数据,就此总结了几种selenium操作下拉滚动条的几种方法 我这里演示的是Java ...

  8. 使用selenium控制滚动条(非整屏body)

    方法原理: (1)使用jQuery CSS 操作 - scrollTop() 方法,设置 <div> 元素中滚动条的垂直偏移,语法:$(selector).scrollTop(offset ...

  9. Selenium入门11 滚动条控制(通过js)

    这一节要有js基础.做web端的UI自动化必须要有html,css,javascript前端基础. 滚动条控制: 1 移动垂直滚动条 document.documentElement.scrollTo ...

最新文章

  1. 利用nginx的stream模块实现内网端口的转发代理
  2. 关于Installshield里一些常见问题的解答—艾泽拉斯之海洋女神出品
  3. shell脚本使得nginx日志每天定时切割压缩
  4. SEH(结构化异常处理)
  5. linux 卸载自带java_卸载linux系统自带JDK,安装自己的jdk
  6. 2017年2月20日 Random Forest Classifier
  7. centos6.2 64安装mysql_centos6.2 64bit安装mysql+php
  8. 快过年了,来,来,来!给七大姑八大姨好好解释解释【啥是DBA 】
  9. html css表格样式模板_Excel报价单模板,完整表格设计,82套多样式选择,拿来就用...
  10. 论开学第一个月干了点啥
  11. 爱立信面试,面试官给我出的 C 算法问题
  12. 数据库逻辑结构设计 → E-R图
  13. 关系型数据库管理系统
  14. IDEA生成SerialVersionUID
  15. 富龙飞联手文创产业研究所,推出国内首个AR+文创建设应用系统
  16. java四目运算符_小心! JAVA三目运算符
  17. java web应用开发期末考试_JavaWeb期末考试A卷
  18. angular-ng new
  19. 混合个人训练第四十六场(A,B题解) A 数论线代全家桶 (all) B: 看星星 (stars)
  20. SIP协议及其简单介绍

热门文章

  1. [转载] 信息系统项目管理师视频教程——17 项目人力资源管理
  2. mysql 密码修改
  3. MySQL 5.7.17安装使用以及修改密码方式
  4. pycharm pep8规范 个人问题总结
  5. (转)WORD中小写金额转换成大写
  6. 讨教大学|六西格玛黑带 面试题请收藏!
  7. euclidea4攻略_Euclidea几何构建10.4通关攻略
  8. POI实现excel的导入和导出
  9. android网络电话源码
  10. Android网络电话软件Sipdroid试用