【Selenium专题】WebDriver启动Chrome浏览器(二)
官方API
Constructor Summary
ChromeDriver() Creates a new ChromeDriver using the default server configuration. |
ChromeDriver(ChromeDriverService service) Creates a new ChromeDriver instance.The service will be started along with the driver, and shutdown upon calling RemoteWebDriver.quit(). |
ChromeDriver(ChromeOptions options) Creates a new ChromeDriver instance with the specified options. |
ChromeDriver(ChromeDriverService service, ChromeOptions options) Creates a new ChromeDriver instance with the specified options. The |
ChromeDriver(Capabilities capabilities) Deprecated. Use ChromeDriver(ChromeOptions) instead. |
ChromeDriver(ChromeDriverService service, Capabilities capabilities) Deprecated. Use ChromeDriver(ChromeDriverService, ChromeOptions) |
注:chrome浏览器实例化现今只适用前四种,后两种已作废不用。
实例代码
- 按照默认配置启动chrome
public static void main(String[] args) { String chromebin = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe";//chrome启动文件路径 String chromedriver = "E:/**/**/**/chromedriver.exe";//chromedriver文件路径 /* 设定 chrome启动文件的位置, 若未设定则取默认安装目录的 chrome */ System.setProperty("webdriver.chrome.bin", chromebin); /* 设定 chrome webdirver 的位置 ,若未设定则从path变量读取*/ System.setProperty("webdriver.chrome.driver", chromedriver); WebDriver driver = new ChromeDriver(); driver.get("http://www.baidu.com");
driver.close();//关闭浏览器
driver.quit();//退出浏览器
}
- 使用服务管理chrome
public static void main(String[] args) { String chromedriver = "E:/**/**/**/chromedriver.exe"; ChromeDriverService service = new ChromeDriverService.Builder() .usingDriverExecutable(new File(chromedriver)) .usingAnyFreePort().build(); WebDriver driver = new ChromeDriver(service); driver.get("http://www.baidu.com"); driver.quit(); }
- 自定义配置启动chrome
import java.io.File; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; public class test { public static void main(String[] args) { String chromebin = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"; String chromedriver = "E:/**/**/**/chromedriver.exe"; /* 设定 chrome启动文件的位置, 若未设定则取默认安装目录的 chrome */ System.setProperty("webdriver.chrome.bin", chromebin); /* 设定 chrome webdirver 的位置 ,若未设定则从path变量读取*/ System.setProperty("webdriver.chrome.driver", chromedriver); WebDriver driver = new ChromeDriver(setChromeOptions()); driver.get("http://www.baidu.com");
driver.close();//关闭浏览器
driver.quit();//退出浏览器
}
/** * 设置 Chrome 浏览器的启动配置 * @return ChromeOptions Chrome 参数设置 */ public static ChromeOptions setChromeOptions(){ ChromeOptions options = new ChromeOptions(); /* * 设置参数 * --start-maximized 浏览器最大化 * test-type 忽略认证错误警示--ignore-certificate-errors * */ options.addArguments("--start-maximized"); options.addArguments("test-type"); /* * 加载插件 * files\\youtube.crx 代表查件文件路径 * */ File file = new File ("files\\youtube.crx"); options.addExtensions(file); return options; } }
- 自定义配置,使用服务启动chrome
import java.io.File; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeDriverService; import org.openqa.selenium.chrome.ChromeOptions; public class test { public static void main(String[] args) { String chromedriver = "E:/**/**/**/chromedriver.exe"; ChromeDriverService service = new ChromeDriverService.Builder() .usingDriverExecutable(new File(chromedriver)) .usingAnyFreePort().build(); WebDriver driver = new ChromeDriver(service,setChromeOptions()); driver.get("http://www.baidu.com"); driver.quit(); } /** * 设置 Chrome 浏览器的启动配置 * @return ChromeOptions Chrome 参数设置 */ public static ChromeOptions setChromeOptions(){ ChromeOptions options = new ChromeOptions(); /* * 设置参数 * --start-maximized 浏览器最大化 * test-type 忽略认证错误警示--ignore-certificate-errors * */ options.addArguments("--start-maximized"); options.addArguments("test-type"); /* * 加载插件 * files\\youtube.crx 代表查件文件路径 * */ File file = new File ("files\\youtube.crx"); options.addExtensions(file); return options; } }
注意:为避免路径问题,chrome浏览器建议安装在默认路径下