RobotFramework操作浏览器滚动条

(2016-12-21 11:52:43)

标签:

selenium

it

分类: 自动化测试

其实只要是用多了selenium+webdriver这套东西的人,滚动条很多时候都少用,只要你第一次打开页面能加载出来的元素,就能操作,html中是有的,比如吧,一个按钮没有显示在窗口中,但是这个按钮是在html中存在的,就能操作。当然也有个别情况:

1.操作的时候元素重叠了,会点击不到而报错,一般会在窗口缩小或者弹窗需要等待Ns才消失的情况;

2.就是第一次页面没有加载出来的,需要滚动到相应位置才能定位到。

一、selenium的操作滚动条方式

肯定都是使用js操作啦,操作浏览器本身的,10000的值动态的,0为最上,想滑动到什么位置填写数字去调试;

js="var q=document.documentElement.scrollTop=10000"

driver.execute_script(js)

内嵌的滚动条,定位到再滚,不对是滚动,滚好像太粗鲁了

js="var q=document.getElementByIdx_x('id').scrollTop=10000"

driver.execute_script(js)

二、robotframework

RF框架是不是一样用js呢?大家可以去尝试,反正我是各种尝试了,在google上也有各种版本,包括

1."Execute Javascript document.getElementByIdx_x('id').scrollTop=10000"

2."Execute Javascript var q=document.getElementByIdx_x('id').scrollTop=10000"

3."Execute Javascript js="var q=document.getElementByIdx_x('id').scrollTop=10000""

总之各种版本都试过了,然并卵,没一个行的。不过还好提供了一个Focus关键字,可以通过这个关键字定位到某个元素再操作

比如:Focus id=passwd

又来但是了,这个元素的locator不显示咋搞,通过大海捞针总算找到了

window.scrollBy(0, document.body.scrollHeight)

window.scrollTo(0, document.body.scrollHeight)

两种都可以啊,document.body.scrollHeight表示滑到最底部,如果要滑到什么位置,通过填写值来调试,比如

"Execute Javascript window.scrollTo(0, 50)"

三、使用模拟键盘操作down键

RobotFramework操作浏览器滚动条的更多相关文章

  1. 『心善渊』Selenium3.0基础 — 17、Selenium操作浏览器窗口的滚动条

    目录 1.为什么操作滚动条 2.Selenium如何操作滚动条 3.Selenium操作滚动条方法 4.操作滚动条示例 5.下拉至聚焦元素的位置 (1)实现步骤: (2)实现示例: 1.为什么操作滚动 ...

  2. 爬虫模块介绍--selenium (浏览器自动化测试工具,模拟可以调用浏览器模拟人操作浏览器)

    selenium主要的用途就是控制浏览器,模仿真人操作浏览器的行为 模块安装:pip3 install selenium 需要控制的浏览器 from selenium import webdriver ...

  3. 第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求

    第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求 selenium模块 selenium模块为 ...

  4. 二十九 Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求

    selenium模块 selenium模块为第三方模块需要安装,selenium模块是一个操作各种浏览器对应软件的api接口模块 selenium模块是一个操作各种浏览器对应软件的api接口模块,所以 ...

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

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

  6. 关于Angular+ngx-perfect-scrollbar自定义各大浏览器滚动条样式的解决方法

    资料: http://manos.malihu.gr/jquery-custom-content-scroller/  (此项是结合Jquery使用的,在此并未采用) https://www.npmj ...

  7. js防抖和节流优化浏览器滚动条滚动到最下面时加载更多数据

    防抖和节流,主要是用来防止过于平凡的执行某个操作,如浏览器窗口变化执行某个操作,监听某个input输入框keyup变化,瀑布流布局时Y轴滚动,图片加载. js函数的防抖 经过一段事件才执行某个操作,如 ...

  8. JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome

    今天为大家分享一下我自己制作的浏览器滚动条,我们知道用css来自定义滚动条也是挺好的方式,css虽然能够改变chrome浏览器的滚动条样式可以自定义,css也能够改变IE浏览器滚动条的颜色.但是css ...

  9. java selenium (十) 操作浏览器

    本篇文章介绍selenium 操作浏览器 阅读目录 浏览器最大化 前进,后退, 刷新 public static void testBrowser(WebDriver driver) throws E ...

随机推荐

  1. hdu4418 Time travel 【期望dp + 高斯消元】

    题目链接 BZOJ4418 题解 题意:从一个序列上某一点开始沿一个方向走,走到头返回,每次走的步长各有概率,问走到一点的期望步数,或者无解 我们先将序列倍长形成循环序列,\(n = (N - 1) ...

  2. ionic改tab文字和icon图片的颜色

    The official way would be: Change in your theme/variables.scss Active icon for tabs on android is: $ ...

  3. Create a conditional DNS forwarder on our domain.com to Amazon default DNS provider

    Backgroup: I have an AWS Managed Active Directory(domain.com). I created a DHCP options set  to my d ...

  4. C#中的弱引用(WeakReference)

    我们平常用的都是对象的强引用,如果有强引用存在,GC是不会回收对象的.我们能不能同时保持对对象的引用,而又可以让GC需要的时候回收这个对象呢?.NET中提供了WeakReference来实现.弱引用可 ...

  5. 用 letsencrypt 生成 SSL 证书

    letsencrypt 生成 SSL 证书 事先配置好访问域名解析 在nginx 对应虚拟主机添加一个验证区域: 配置 nginx server { listen 80; ... location ~ ...

  6. unity下的Line of Sight(LOS)的绘制

    先说说什么是Linf of Sight.在很多RTS游戏中,单位与单位之间的视野关系经常会受到障碍物遮挡.Line of Sight指的就是两个物体之间是否没有障碍物遮挡. 比如在dota中,玩家的视 ...

  7. DotNETCore 学习笔记 日志

    Logging --------------------------------------------------------------------------------------- Impl ...

  8. NYOJ 170 网络的可靠性 (数学)

    题目链接 描述 A公司是全球依靠的互联网解决方案提供商,也是2010年世博会的高级赞助商.它将提供先进的网络协作技术,展示其"智能+互联"的生活概念,同时为参观者提供高品质的个人体 ...

  9. BZOJ1037 DP

    2013-11-15 21:51 原题传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1037 拿到这道题想到了DP,后来发现三维无法确定的表示状 ...

  10. ubuntu 安装wxpython以及boa-constructor

    直接参考 官方的安装文档. 学习python 的时候就 用 wxPython . 那个时候用的是windows 的版本. 现在 用 ubuntu 下开发了.没有搭建好环境. 其实就一句话: sudo ...