常用的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();
參考資料:《Selenium WebDrive3 實戰》