WebDriver相關API
- get(String url)
訪問指定url頁面 - getCurrentUrl()
獲取當前頁面的url地址 - getTitle()
獲取當前頁面的標題 - getPageSource()
獲取當前頁面源代碼 - quit()
關閉驅動對象以及所有相關的窗口 - close()
關閉當前窗口 - getWindowHandle()
返回當前頁面句柄 - getWindowHandles()
返回所有由驅動對象打開頁面所有的句柄,頁面不同,句柄不一樣 - manage()
此方法可以獲取Options-瀏覽器菜單操作對象
driver.manage().window() - navigate對象
//獲取navigate對象
Navigation navigation = driver.navigate();
//訪問指定的url地址
navigation.to(url);
//刷新當前頁面
navigation.refresh();
//瀏覽器回退操作
navigation.back();
//瀏覽器前進操作
navigation.forward();
代碼示例
如下5個WebDriver相關API的代碼示例:
- get(String url)
訪問指定url頁面 - getCurrentUrl()
獲取當前頁面的url地址 - getTitle()
獲取當前頁面的標題 - getPageSource()
獲取當前頁面源代碼 - quit()
關閉驅動對象以及所有相關的窗口
package com.test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class WebDriverOperate {
private static ChromeDriver chromeDriver;
public static void main(String[] args) throws InterruptedException {
openChrome();
//get(String url)
//訪問指定url頁面
//getCurrentUrl()
//獲取當前頁面的url地址
System.out.println("當前的URL爲:"+chromeDriver.getCurrentUrl());
//getTitle()
//獲取當前頁面的標題
System.out.println("當前的標題爲:"+chromeDriver.getTitle());
//getPageSource()
//獲取當前頁面源代碼
//System.out.println("當前頁面的源代碼爲:"+chromeDriver.getPageSource());
//quit()
//關閉驅動對象以及所有相關的窗口
chromeDriver.quit();
}
public static void openChrome() {
System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");
//1.打開Chrome瀏覽器
chromeDriver = new ChromeDriver();
//2.訪問百度
chromeDriver.get("http://www.baidu.com");
}
}
控制檯輸出如下:
當前的URL爲:https://www.baidu.com/
當前的標題爲:百度一下,你就知道
關閉當前窗口的代碼示例如下:
- close()
package com.test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class WebDriverOperate {
private static ChromeDriver chromeDriver;
public static void main(String[] args) throws InterruptedException {
openChrome();
//close()
//關閉當前窗口
chromeDriver.findElement(By.id("kw")).sendKeys("自動化測試");
chromeDriver.findElement(By.id("su")).click();
Thread.sleep(1000);
chromeDriver.findElement(By.xpath("//a[text()='_百度百科']")).click();;
Thread.sleep(3000);
chromeDriver.close();
}
public static void openChrome() {
System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");
//1.打開Chrome瀏覽器
chromeDriver = new ChromeDriver();
//2.訪問百度
chromeDriver.get("http://www.baidu.com");
}
}
如下2個WebDriver相關API的代碼示例:
- getWindowHandle()
返回當前頁面句柄 - getWindowHandles()
返回所有由驅動對象打開頁面所有的句柄,頁面不同,句柄不一樣
package com.test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class WebDriverOperate {
private static ChromeDriver chromeDriver;
public static void main(String[] args) throws InterruptedException {
openChrome();
chromeDriver.findElement(By.id("kw")).sendKeys("自動化測試");
chromeDriver.findElement(By.id("su")).click();
System.out.println("新窗口打開前的句柄:"+chromeDriver.getWindowHandle());
System.out.println("新窗口打開前的所有句柄:"+chromeDriver.getWindowHandles());
Thread.sleep(1000);
chromeDriver.findElement(By.xpath("//a[text()='_百度百科']")).click();;
Thread.sleep(3000);
//chromeDriver.close();
System.out.println("新窗口打開後的句柄:"+chromeDriver.getWindowHandle());
System.out.println("新窗口打開後的所有句柄:"+chromeDriver.getWindowHandles());
}
public static void openChrome() {
System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");
//1.打開Chrome瀏覽器
chromeDriver = new ChromeDriver();
//2.訪問百度
chromeDriver.get("http://www.baidu.com");
}
}
控制檯輸出如下:
新窗口打開前的句柄:CDwindow-F7B1053E51D1A1A91B07F35FC4BB1D39
新窗口打開前的所有句柄:[CDwindow-F7B1053E51D1A1A91B07F35FC4BB1D39]
新窗口打開後的句柄:CDwindow-F7B1053E51D1A1A91B07F35FC4BB1D39
新窗口打開後的所有句柄:[CDwindow-F7B1053E51D1A1A91B07F35FC4BB1D39, CDwindow-179907C8D252AD85E36ABE019954C314]
如下這個WebDriver相關API的代碼示例:
- manage()
此方法可以獲取Options-瀏覽器菜單操作對象
driver.manage().window()
package com.test;
import org.openqa.selenium.By;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.WebDriver.Options;
import org.openqa.selenium.chrome.ChromeDriver;
public class WebDriverOperate {
private static ChromeDriver chromeDriver;
public static void main(String[] args) throws InterruptedException {
openChrome();
Options options = chromeDriver.manage();
//全屏
//options.window().fullscreen();
//最大化窗口
//options.window().maximize();
Dimension dimension = options.window().getSize();
System.out.println("窗口的高度:"+dimension.getHeight());
System.out.println("窗口的寬度:"+dimension.getWidth());
System.out.println(options.window().getPosition().getX());
System.out.println(options.window().getPosition().getY());
}
public static void openChrome() {
System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");
//1.打開Chrome瀏覽器
chromeDriver = new ChromeDriver();
//2.訪問百度
chromeDriver.get("http://www.baidu.com");
}
}
控制檯輸出如下:
窗口的高度:660
窗口的寬度:1050
10
10
navigate對象的代碼示例如下:
package com.test;
import org.openqa.selenium.By;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.WebDriver.Navigation;
import org.openqa.selenium.WebDriver.Options;
import org.openqa.selenium.chrome.ChromeDriver;
public class WebDriverOperate {
private static ChromeDriver chromeDriver;
public static void main(String[] args) throws InterruptedException {
openChrome();
//navigate對象
Navigation navigation = chromeDriver.navigate();
Thread.sleep(2000);
//訪問JD
navigation.to("https://www.jd.com");
//刷新網頁
Thread.sleep(2000);
navigation.refresh();
//回退
Thread.sleep(2000);
navigation.back();
//前進
Thread.sleep(2000);
navigation.forward();
}
public static void openChrome() {
System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");
//1.打開Chrome瀏覽器
chromeDriver = new ChromeDriver();
//2.訪問百度
chromeDriver.get("http://www.baidu.com");
}
}