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


本篇文章介绍如何使用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是单独的方法。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM