zoukankan      html  css  js  c++  java
  • 【Selenium专题】WebDriver启动Chrome浏览器(一)

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

    二、启动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 SettingsAdministratorLocal SettingsApplication DataGoogleChromeApplicationchromedriver.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 SettingsAdministratorLocalSettingsApplication DataGoogleChromeApplicationchromedriver.exe");

               WebDriver driver = new ChromeDriver();

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

    }
    btw:
    chrome浏览器在各个系统默认位置:
    OS Expected Location of Chrome
    Linux /usr/bin/google-chrome1
    Mac /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    Windows XP %HOMEPATH%Local SettingsApplication DataGoogleChromeApplicationchrome.exe
    Windows Vista C:Users\%USERNAME%AppDataLocalGoogleChromeApplicationchrome.exe

    三、chromedriverService

    执行以上代码你会发现ChromeDriver仅是在创建是启动,调用quit时关闭浏览器,ChromeDriver是轻量级的服务若在一个比较大的测试套件中频繁的启动关闭,会增加一个比较明显的延时导致浏览器进程不被关闭的情况发生,为了避免这一状况我们可以通过ChromeDriverService来控制ChromeDriver进程的生死,达到用完就关闭的效果避免进程占用情况出现(Running the server in a child process)。
    具体实现如下:
    ChromeDriverService service = new ChromeDriverService.Builder() .usingChromeDriverExecutable(new File("E:Selenium WebDriverchromedriver_win_23.0.1240.0chromedriver.exe")).usingAnyFreePort().build();
    service.start();
    driver = new ChromeDriver();
    driver.get("http://www.baidu.com");
    driver.quit();
    // 关闭 ChromeDriver 接口
    service.stop();

    【转自】http://www.spasvo.com/ceshi/open/kygncsgj/Selenium/20131213102816.html

  • 相关阅读:
    PAT 甲级 1132 Cut Integer (20 分)
    AcWing 7.混合背包问题
    AcWing 9. 分组背包问题
    AcWing 5. 多重背包问题 II
    AcWing 3. 完全背包问题
    AcWing 4. 多重背包问题
    AcWing 2. 01背包问题
    AcWing 875. 快速幂
    AcWing 874. 筛法求欧拉函数
    AcWing 873. 欧拉函数
  • 原文地址:https://www.cnblogs.com/sylvia-liu/p/4582430.html
Copyright © 2011-2022 走看看