有時候我們需要對窗口顯示的頁面上下滑動,以顯示當前正在處理的位置,這就需要用到webdriver模擬鼠標上下滑動
package test20161201; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.By; import org.openqa.selenium.Dimension; public class test20161201 { public static void main(String[] args) throws InterruptedException { // TODO Auto-generated method stub System.setProperty("webdriver.chrome.driver", "C:\\Training\\Automation\\Software\\drivers\\chromedriver_win32\\chromedriver.exe");和上面一行是連着的 WebDriver driver= new ChromeDriver(); driver.navigate().to("http://www.baidu.com"); System.out.println("打開瀏覽器進入百度首頁"); driver.manage().window().maximize(); System.out.println("窗口最大化"); Thread.sleep(2000); driver.manage().window().setSize(new Dimension(800, 200));----------------瀏覽器窗口大小改變 Thread.sleep(1000); driver.manage().window().setSize(new Dimension(200, 800)); Thread.sleep(1000); driver.manage().window().setSize(new Dimension(600, 600)); Thread.sleep(1000); driver.manage().window().maximize(); System.out.println("最后將窗口最大化"); Thread.sleep(1000); driver.findElement(By.id("kw")).sendKeys("知乎"); driver.findElement(By.id("su")).click(); Thread.sleep(3000); WebElement content = driver.findElement(By.xpath("//*[@id='1']/div[1]/div[2]/div[1]")); System.out.println(content);//這里定義了一個變量content driver.findElement(By.linkText("知乎- 與世界分享你的知識、經驗和見解")).click(); System.out.println("進入知乎首頁"); Thread.sleep(5000); for(String winHandle:driver.getWindowHandles()){ driver.switchTo().window(winHandle); } driver.close(); Thread.sleep(2000); for(String winHandle:driver.getWindowHandles()){ driver.switchTo().window(winHandle); } Thread.sleep(2000); Actions action = new Actions(driver);-------------------------------------------聲明一個動作 WebElement xia = driver.findElement(By.xpath("//*[@id='help']/a[3]"));----------找到向下滑動到的元素位置 action.moveToElement(xia).build().perform();------------------------------------執行滑動動作 Thread.sleep(1000); WebElement shang = driver.findElement(By.xpath("//*[@id='container']/div[2]/div/div[2]/div"));----------找到向上滑動到的元素位置
action.moveToElement(shang).build().perform();----------------------------------執行滑動動作
System.out.println("鼠標下拉結束");
