WEB自動化(JAVA版)——WebDriver相關API

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");
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章