java+selenium使用JS键盘滑动滚动条
Posted kyrpt
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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来操作页面滚动条
主要介绍一下垂直方向滚动到最底部,水平方向同理
//导包 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,意思就是滚动到底部 */
注意:上述JS操作滚动条是使用xpath定位的方式,如果需要使用其他的元素可使用下述例子
如:id定位可直接使用:js.executeScript("document.getElementById("ext-gen543").scrollTop=1000");
--------移动到最底部
class定位、name定位和id定位操作一样,只有xpath不同,因为js中对xpath是单独的方法。
感谢各位看官--------------
以上是关于java+selenium使用JS键盘滑动滚动条的主要内容,如果未能解决你的问题,请参考以下文章
Java当中使用 Selenium 使其 ChromeDriver 控制谷歌浏览器向下不断的滑动到最低部