下面的演示中以 Selenium-WebDriver 和 Chrome 作为配置对象,但是各个浏览器(Chrome、FireFox、IE/Edge)的配置选项都是总体上相同的,因此文章中的方法也是同样适用的。
在使用 Selenium 进行自动化时,需要根据不同的浏览器选择各自的驱动,也叫 WebDriver。出于性能方面的考虑,WebDriver 启动的浏览器(这里以 Chrome 为例)是一个纯净的、不带扩展的浏览器实例。而我们常常会对浏览器有些特殊的需求,就需要对 WebDriver 添加启动参数。
本篇文章的主要包含以下内容:
- Chrome 的配置项及其在 Selenium-WebDriver 中的配置方法
- 为 Web 自动化配置专用的 Chrome 环境的方案
Chrome 配置项的配置方法
在 Selenium 的其它语言实现,比如 Java、Python 中,Chrome 配置由ChromeOptions
类控制,但在 JavaScript 中,使用的是selenium-webdriver/chrome
中的Options
类,具体的实现如下:
使用 Option 添加配置
首先如果是没有配置启动参数时 WebDriver 的写法:
require('chromedriver');
const { Builder } = require('selenium-webdriver');
driver = new Builder().forBrowser('chrome').build();
而假设我们需要 Chrome 以最大化的状态启动,需要添加--start-maximized
启动参数。使用Option.addArguments()
方法添加参数。
require('chromedriver');
const { Builder } = require('selenium-webdriver');
const { Options } = require(