
1)开源免费
2)支持多浏览器
3)支持多系统
4)提供很多API
5)支持多语言



eg.一个简单的自动化
public class Util {
public void test() throws InterruptedException {
ChromeDriver driver = new ChromeDriver();
Thread.sleep(3000);
driver.get("https://www.baidu.com/");
driver.findElement(By.cssSelector("#kw")).sendKeys("喜羊羊");
Thread.sleep(3000);
driver.findElement(By.cssSelector("#su")).click();
Thread.sleep(3000);
driver.quit();
}
}
public class FirstTest {
public static void main(String[] args) throws InterruptedException {
Util u = new Util();
u.test();
}
}
driver.findElement(By.cssSelector("#kw")).sendKeys("喜羊羊");




driver.findElement(By.cssSelector("#kw")).sendKeys("喜羊羊");
driver.findElement(By.cssSelector("#kw")).sendKeys("喜羊羊");
driver.findElement(By.cssSelector("#kw")).clear();
driver.findElement(By.cssSelector("#kw")).sendKeys("-----");

代码执行速度很快,页面渲染速度相对较慢,故代码需要等待渲染完成,否则页面元素找不到

在规定的时间范围内。轮询等待元素出现之后立即结束,如果在规定时间仍没出来,抛出异常NoSuchElementException。

针对某一个元素进行测试


【显示和隐式不可一起使用,等待时间无法确定】
/**
* 信息打印
*/
public void printTest(){
String title = this.driver.getTitle();//打印标题
System.out.println("title" + title);
String currentUrl = this.driver.getCurrentUrl();
System.out.println("currentUrl" + currentUrl);//打印
}

1)获取当前页的句柄–getWindowHandle()
System.out.println(this.driver.getWindowHandle());//获取当前页的句柄,即唯一标识
2)获取所有标签页的句柄 --getWindowHandles()
Set<String> windowHandles = this.driver.getWindowHandles();
for (String s:windowHandles) {
System.out.println(s);
}
switchTo().window("");// ”“中->是目标句柄
driver.manage().window().maximize();//最大化
driver.manage().window().minimize();//最小化
driver.manage().window().setSize(new Dimension(1000,800));//自定义,宽 高

//编译js
driver.executeScript("window.scroll(0,document.body.scrollHeight)");//scrip:置底
driver.executeScript("window.scroll(0,document.body.scrollTop)");//scrip:置顶
driver.navigate().back();//后退
driver.navigate().forward();//前进




