常用的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 实战》