本篇文章介绍如何使用JS和键盘对象对页面进行滑动滚动条-------------主要针对java做自动化测试的同学

一:使用键盘对象操作滚动条

//导包

import org.openqa.selenium.interactions.Actions;

// 创建鼠标键盘操作对象
Actions actions = new Actions(driver); // -----------driver:是创建浏览器对象的变量(WebDriver driver=new ChromeDriver();) //通过xpath获取到滚动条所在元素位置
WebElement A = driver.findElement(By.xpath("xpath_str")); //循环点击键盘下键,直到元素可见
while(true) {
actions.sendKeys(A, Keys.DOWN).perform(); /* A:滚动条所在元素位置 * Keys.DOWN:点击键盘下键 * perform():确定键盘操作事件,不能省略 */ // 使用try…catch…来判断元素是否可见,可见就进行元素操作并退出循环
try {
driver.findElement(By.xpath("Startprocess")).click();
break;
} catch (Exception e) {
}
}

以上方式就会让滚动条不停的滑动,并直到元素可见。进行元素的操作

二:通过JS来操作页面滚动条

使用scrollTop进行垂直方向滚动到最底部

//导包
import org.openqa.selenium.JavascriptExecutor; // 创建js对象
JavascriptExecutor js = (JavascriptExecutor) driver; // 使用executeScript方法执行js语句
js.executeScript("document.evaluate(\"xpath_str\", document).iterateNext().scrollTop=1000"); /*
* document.evaluate是针对使用xpath定位的方法
* document.evaluate(\"xpath_str\", document).iterateNext():获取到滚动条元素位置,xpath内含有双引号记得转义
* scrollTop:将垂直滚动条高度设置为1000,意思就是滚动到底部
*/

如果既想要水平方向滑动,也想要垂直方向滑动。则使用scrollTo(x,y)

x:表示水平方向的像素值(最左边为0,)

y:表示垂直方向的像素值(最上边为0)

例:向右100,向下200-------------scrollTo(100,200)

水平方向滑动:使用scrollLeft(默认最左边为0)

例:向右滑动100----------scrollLeft=100

注意:上述JS操作滚动条是使用xpath定位的方式,如果需要使用其他的元素可使用下述例子

如:id定位可直接使用:js.executeScript("document.getElementById(\"ext-gen543\").scrollTop=1000");

--------移动到最底部

class定位、name定位和id定位操作一样,只有xpath不同,因为js中对xpath是单独的方法。

java+selenium使用JS、键盘滑动滚动条的更多相关文章

  1. Java&Selenium调用JS实现高亮被操作页面元素高亮

    Java&Selenium调用JS实现高亮被操作页面元素高亮 /* * the method of invoking js to do something * * @author daviey ...

  2. python3 + selenium 使用 JS操作页面滚动条

    js2 = "window.scrollTo(0,0);" #括号中为坐标 当不知道需要的滚动的坐标大小时: weizhi2 = driver.find_element_by_id ...

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

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

  4. Java+selenium 如何下拉移动滚动条【实战】

    一.场景:在编写脚本过程中需要定位的元素,在界面的底部,需要拖拽下拉滚动条,再进行定位元素. 实现思路:用Selenium 里面的 scrollTo 方法实现 二.脚本示例: 1. 用例设计 @The ...

  5. java selenium webdriver处理JS操作窗口滚动条

    未经作者允许,禁止转载!!! java selenium webdriver处理JS操作窗口滚动条 java selenium webdriver处理JS操作窗口滚动条 import org.open ...

  6. Python selenium webdriver设置js操作页面滚动条

    js2 = "window.scrollTo(0,0);" #括号中为坐标 当不知道需要的滚动的坐标大小时: weizhi2 = driver.find_element_by_id ...

  7. 自动化测试基础篇--Selenium中JS处理滚动条

    摘自https://www.cnblogs.com/sanzangTst/p/7692285.html 前言 什么是JS? JS就是JavaScript: JavaScript 是世界上最流行的脚本语 ...

  8. Java&Selenium控制滚动条方法封装

    Java&Selenium控制滚动条方法封装 package util; import org.openqa.selenium.JavascriptExecutor; import org.o ...

  9. 自动化测试-13.selenium执行JS处理滚动条

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

随机推荐

  1. 关于go中并发的初步理解

    1.一些概念的介绍: 概念 描述 进程 在内存中的程序.有自己独立的独占的虚拟 CPU .虚拟的 Memory.虚拟的 IO devices. (1) 每一进程占用独立的地址空间. 此处的地址空间包括 ...

  2. ARFoundation - touch point坐标点测试

    ARFoundation - touch point坐标点测试 本文目的是为了看一下Android手机上touch之后,对应的点相关信息,主要包括: 点的屏幕坐标,以左下角为原点: 点的viewpor ...

  3. java面试一日一题:rabbitMQ的工作模式

    问题:请讲下rabbitMQ的工作模式 分析:该问题纯属概念题,需要掌握rabbtiMQ的基础知识,同时该题也是切入MQ的一个引子: 回答要点: 主要从以下几点去考虑, 1.rabbitMQ的基本概念 ...

  4. maven setting.xml 阿里云镜像 没有一句废话

    <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...

  5. 【ProLog - 4.0 List】

    [简介] 列表是Prolog编程中常用的一种重要的递归数据结构 列表是一个有限的元素序列 实例: 所有Prolog术语都可以是列表的元素,一个非空的List应该含有两个元素:头元素(Head)和尾元素 ...

  6. 记一次metasploitable2内网渗透之21,22,23,25端口爆破

    Hydra是一款非常强大的暴力破解工具,它是由著名的黑客组织THC开发的一款开源暴力破解工具.Hydra是一个验证性质的工具,主要目的是:展示安全研究人员从远程获取一个系统认证权限. 目前该工具支持以 ...

  7. JVM(一)内存结构

    今日开篇 什么是JVM 定义 Java Virtual Machine,JAVA程序的运行环境(JAVA二进制字节码的运行环境) 好处 一次编写,到处运行 自动内存管理,垃圾回收机制 数组下标越界检查 ...

  8. 墙裂推荐:这可能是CAP理论的最好现实解释

    这篇文章蓝本:http://ksat.me/a-plain-english-introduction-to-cap-theorem 经过小码甲意译.原创配图, 干到让你怀孕. 你可能经常听到CAP定理 ...

  9. JDBC_15_悲观锁和乐观锁

    悲观锁和乐观锁 并发控制 当程序中可能出现并发操作的情况时,就需要保证在并发操作的情况下数据的准确性,以此确保当前用户和其他用户一起操作时,所得到的结果和某个用户单独操作时的结果是一样的.这种手段就叫 ...

  10. 2021S软件工程——个人阅读作业1

    2021S软件工程--个人阅读作业1 项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任建) 这个作业的要求在哪里 2021年软工-热身阅读作业 我在这个课程的目标是 了解并熟悉软件开发 ...