本文主要是介绍Java+Selenium3方法篇22-利用Javascript处理竖向滚动条,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本篇介绍如何使用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都可以。
这篇关于Java+Selenium3方法篇22-利用Javascript处理竖向滚动条的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!