webdriver 为我们封转了4个Driver,如下:
1.HtmlUnitDriver:纯粹的java 驱动,完全运行在内存中,不会看到浏览器被打开;
1)它是目前运行速度最快,轻量级的webdriver实现,基于htmlunit
2)纯java实现,因此不依赖于平台
3)支持javascript
使用htmlunit时,默认是关闭javascript的支持,需要手动开启,如下:
HtmlUnitDriver driver=new HtmlUnitDriver();
driver.setjavascriptEnable(true);
通过如上设置,HtmlUnit会效仿IE 对javascript的处理。
2.FireFoxDriver
如果FireFox不是默认安装路径,需要设置webdriver.firefox.driver属性,否则无法启动firefox
System.setProperty("webdriver.firefox.bin","firefox.exe的安装路径");
否则运行时会出现找不到firefox 的驱动;
3. InternetExplorerDriver
当脚本的运行环境是ie 时,需要对IE进行设置;
关闭 安全中4个区域的保护模式;4个都要关闭;
4.ChromeDriver
对于Chrom比较特殊,需要为其安装特定的Driver ,下载地址如下:
http://code.google.com/p/selenium/downloads/list
将chromedriver.exe 放在windows/system32 目录下(windows平台)
举例说明:
以FireFoxDriver 为例,打开百度首页:
FirefoxDriver是WebDriver 接口的一个实现类;package com.tencent;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;public class TestSelenium {
public static void main(String[] args) {
System.setProperty ( "webdriver.firefox.driver" , "D:/Program Files/Mozilla Firefox/firefox.exe" );
WebDriver driver = new FirefoxDriver();
driver.get("http://tuan.qq.com");
}
}
get 方法是WebDriver 接口中方法,在 RemoteWebDriver类中实现,FirefoxDriver是RemoteWebDriver的子类,用来打开浏览器窗口,访问指定的url;