常用的WebDriver API
訪問某網站
package com.wb.api; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class WebDriverTest { public static void main(String[] args) { WebDriver driver; // 設置瀏覽器驅動環境變量 System.setProperty("webdriver.chrome.driver", "C:\\Program Files (x86)\\ChromeCore\\chromedriver.exe"); driver = new ChromeDriver(); //方法1 driver.get("http://www.baidu.com"); //方法2 driver.navigate().to("http://www.imooc.com"); } }
單擊瀏覽器的后退功能
//訪問百度網頁 driver.get("http://www.baidu.com"); //訪問搜狗網頁 driver.navigate().to("http://www.sogou.com"); driver.navigate().back(); //訪問上一次訪問的百度網頁
單擊瀏覽器的前進功能
//訪問百度網頁 driver.get("http://www.baidu.com"); //訪問搜狗網頁 driver.navigate().to("http://www.sogou.com"); driver.navigate().back(); //訪問上一次訪問的百度網頁 driver.navigate().forward(); //跳轉到搜狗網頁
刷新當前頁面
//刷新頁面 driver.navigate().refresh();
操作瀏覽器窗口
//聲明一個Point對象,兩個100表示相對於屏幕左上角(0,0)的橫坐標和縱坐標 Point point = new Point(100, 100); //聲明 一個Dimension對象,兩個200表示瀏覽器窗口的長度和寬度 Dimension dim = new Dimension(200, 200); //setPosition方法表示設定瀏覽器在屏幕上的位置為Point對象的坐標(100, 100) //在某些瀏覽器版本中此方法失效 driver.manage().window().setPosition(point); //setSize方法表示設定瀏覽器窗口的大小(200, 200) driver.manage().window().setSize(dim); //getPosition方法表示獲取瀏覽器在屏幕的位置 //在某些瀏覽器版本中此方法失效 System.out.println(driver.manage().window().getPosition()); //getSize方法表示獲取瀏覽器窗口的大小 System.out.println(driver.manage().window().getSize());
獲取頁面的Title屬性
//獲取頁面的Title String title = driver.getTitle(); System.out.println(title);
獲取頁面的源代碼
//獲取頁面的源代碼 String pageSrCode = driver.getPageSource(); System.out.println(pageSrCode);
獲取當前頁面的URL地址
//獲取頁面的URL String pageUrl = driver.getCurrentUrl(); System.out.println(pageUrl);
在輸入框中輸入內容
//獲取輸入框元素
WebElement searchInput = driver.findElement(By.id("kw"));
//輸入指定內容 searchInput.sendKeys("hello world");
清除輸入框中的內容
//獲取輸入框元素 WebElement searchInput = driver.findElement(By.id("kw")); searchInput.sendKeys("hello world"); try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } //清除輸入框內容 searchInput.clear();
單擊按鈕
//獲取按鈕元素 WebElement btn = driver.findElement(By.id("btn")); //單擊按鈕元素 btn.click();
雙擊某個元素
//獲取輸入框元素 WebElement inputEle = driver.findElement(By.id("kw")); //聲明Actions對象 Actions builder = new Actions(driver); //雙擊輸入框 builder.doubleClick(inputEle).build().perform();