本篇文章介绍如何使用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. Windows包管理器——Scoop 包管理器

    Scoop 包管理器 目录 Scoop 包管理器 参考 官方 博客 声明 目录 scoop 安装&&卸载 安装( 使用 powershell) 卸载(软件的使用权归自己所有,一言不合即 ...

  2. Min25筛求1-n内的素数和

    1 //#include <bits/stdc++.h> 2 #include<cstdio> 3 #include<cstring> 4 #include< ...

  3. Java并发编程之基础理论

    内存模型   主内存.工作内存与Java堆.栈.方法区并不是同一个层次的内存划分 勉强对应起来 从定义来看,主内存对应Java堆中对象实例数据部分,工作内存对应虚拟机栈中部分区域 从更低层次来说,主内 ...

  4. DevExpress主要常用控件

    DevExpress主要常用控件说明:1. TestEdit: 一个单行文本编辑器. 常用属性:Name:该控件的名称.Text:该控件中的内容.Enabled:该控件是否激活. Visible:控件 ...

  5. vscode配置c\c++环境

    目录 一.安装vscode 二.安装插件以及配置c\c++编译环境 1. 安装以下两个插件 2. 配置编译环境 一.安装mingw64(推荐) 方法一 方法二 二.如果你安装过visual studi ...

  6. Android Studio 分类整理 res/layout 中的布局文件

    •准备工作 新建一个名为 TestLayouts 的项目: 进入 Project 模式: 来到 TestLayouts/app/src/main/res/layout 文件夹下: •分类整理 layo ...

  7. 在M1芯片的Mac系统上做.net core开发靠谱吗?

    作为一个7年老.NET程序员,最近几年苹果慢慢接替微软,成为我心中最酷的科技公司. 为什么我会选择Mac os作为我的开发环境? 很多做.net的同学都使用Windows系统作为自己的开发环境,我其实 ...

  8. 前端 | JS 任务和微任务:promise 的回调和 setTimeout 的回调到底谁先执行?

    首先提一个小问题:运行下面这段 JS 代码后控制台的输出是什么? console.log("script start"); setTimeout(function () { con ...

  9. 一文带大家彻底搞懂Hystrix!

    前言? Netflix Hystrix断路器是什么? Netflix Hystrix是SOA/微服务架构中提供服务隔离.熔断.降级机制的工具/框架.Netflix Hystrix是断路器的一种实现,用 ...

  10. Win10环境下YOLO5 快速配置与测试

    目录 一.更换官方源 二.安装Pytorch+CUDA(python版本) 三.YOLO V5 配置与验证 四.数据集测试 五.小结 不想看前面,可以直接跳到标题: 一.更换官方源 在 YOLO V5 ...