Java+Selenium3方法篇22-利用Javascript处理竖向滚动条

来源:互联网 发布:win10系统优化软件 编辑:程序博客网 时间:2024/06/05 08:04

       本篇介绍如何使用javascript脚本去处理竖向滚动条,例如有这样一个场景,你访问我的csdn主页,想下拉到当前页的地步,这个下拉,你会拖拽竖向滚动条到底部就实现了。这个过程,如果在webdriver的自动化测试,如何做呢。在webdriver中是没有拖动滚动条的方法的,需要借助javascript来根据一个页面元素去实现拖动滚动条的过程。本篇要学习两个知识点,一个是webdriver中如何执行Js脚本,第二个是如何写js滚动到某一个元素附近。

下面用,打开我的csdn主页举例,拖动到底部,参考物是底部的公司介绍这个元素。

package lessons;import java.util.concurrent.TimeUnit;import org.openqa.selenium.By;import org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.chrome.ChromeDriver;public class ElementOpration {public static void main(String[] args) throws Exception {                  System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");                     WebDriver driver = new ChromeDriver();               driver.manage().window().maximize();                 driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);                  driver.get("http://blog.csdn.net/u011541946");                 Thread.sleep(1000);                // 定义csdn底部 公司简介 这个元素        WebElement element = driver.findElement(By.xpath("//*/dd[@class='foot_sub_menu']/a[1]"));        //创建一个javascript 执行实例      JavascriptExecutor je = (JavascriptExecutor) driver;            //执行js语句,拖拽浏览器滚动条,直到该元素到底部,马上就不可以见      je.executeScript("arguments[0].scrollIntoView(true);",element);                         }  }
关于scrollIntoView(true),应该这么理解,拖动到可以看到这个元素为止,如果这个地方ture改成false,也是可以,拖动效果有一点差别,你可以观察下。一般情况,ture或者false都可以。


原创粉丝点击