selenium之操作ChromeDriver

selenium操作chrome浏览器需要有ChromeDriver驱动来协助。

 

 

什么是ChromeDriver?

 

ChromeDriver是Chromium team开发维护的,它是实现WebDriver有线协议的一个单独的服务。ChromeDriver通过chrome的自动代理框架控制浏览 器,ChromeDriver只与12.0.712.0以上版本的chrome浏览器兼容。

 

那么要想selenium成功的操作chrome浏览器需要经历如下步骤:

 

1、下载ChromeDriver驱动包(下载地址: http://chromedriver.storage.googleapis.com/index.html?path=2.7/

 

 

 

注意阅读note.txt下载与自己所使用浏览器一致版本的驱动包。

 

2、指定ChromeDriver所在位置,可以通过两种方法指定:

 

1)通过配置ChromeDriver.exe位置到path环境变量实现。

 

2)通过webdriver.chrome.driver.系统属性实现。实现代码如下:

 

System.setProperty("webdriver.chrome.driver", "C:\\Documents and Settings\\Administrator\\Local Settings\\Application Data\\Google\\Chrome\\Application\\chromedriver.exe");
3、最后需要做的就是创建一个新的ChromeDriver的实例。

 

WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com/"); 

 

至此我们就可以通过chrome浏览器来执行我们的自动化代码了。

 

完整实例代码如下:

 

public static void main(String[] args) {

           // TODO Auto-generated method stub

//设置访问ChromeDriver的路径

System.setProperty("webdriver.chrome.driver", "C:\\Documents and Settings\\Administrator\\LocalSettings\\Application Data\\Google\\Chrome\\Application\\chromedriver.exe");

           WebDriver driver = new ChromeDriver();

           driver.get("http://www.baidu.com/");

 

}

btw:

 

chrome浏览器在各个系统默认位置:

 

OSExpected Location of Chrome
Linux/usr/bin/google-chrome1
Mac/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
Windows XP%HOMEPATH%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe
Windows VistaC:\Users\%USERNAME%\AppData\Local\Google\Chrome\Application\chrome.exe

 

 

 

执行以上代码你会发现ChromeDriver仅是在创建是启动,调用quit时关闭浏览器,ChromeDriver是轻量级的服务若在一个比较大的 测试套件中频繁的启动关闭,会增加一个比较明显的延时导致浏览器进程不被关闭的情况发生,为了避免这一状况我们可以通过ChromeDriverService来控制ChromeDriver进程的生死,达到用完就关闭的效果避免进程占用情况出现(Running the  server in a child process)。

 

具体实现如下:

ChromeDriverService service = new ChromeDriverService.Builder() .usingChromeDriverExecutable(new File("E:\\Selenium WebDriver\\chromedriver_win_23.0.1240.0\\chromedriver.exe")).usingAnyFreePort().build();
service.start();
driver = new ChromeDriver();
driver.get("http://www.baidu.com");
driver.quit();
// 关闭 ChromeDriver 接口
service.stop();

 

http://www.testwo.com/blog/6931

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值