启动浏览器
配置的完整参数(以Chrome为例)
executable_path="chromedriver", port=0,
options=None, service_args=None,
desired_capabilities=None, service_log_path=None,
chrome_options=None, keep_alive=True
)
Chrome()参数意义
参数名 |
参数意义 |
executable_path |
指定使用Chromedriver的路径,默认是在系统的 $PATH 路径下(比如说,Mac的.bash_profile中设置了$PATH:/usr/local/bin,那么executable_path在未指定的情况下会使用该地址下的Chromedriver驱动文件 ) |
port |
指定服务端口号,默认自动找到可用的空闲端口 |
options |
配置chrome启动时属性(ChromeOptions类) |
service_args |
传递给驱动服务的参数列表 |
desired_capabilities |
默认需要支持的功能集 |
service_log_path |
日志存储路径 |
chrome_options |
已废弃,使用options参数 |
keep_alive |
将ChromeRemoteConnection配置为使用HTTP保持活动状态 |
options可配置属性
源码中关于Options类共有以下几个参数:
self._binary_location = ''
self._arguments = []
self._extension_files = []
self._extensions = []
self._experimental_options = {}
self._debugger_address = None
self._caps = DesiredCapabilities.CHROME.copy()
Options()参数意义
参数名 |
参数意义 |
binary_location |
设置 chrome 二进制文件位置 |
add_argument |
添加启动参数 |
add_extension |
添加扩展应用 |
add_encoded_extension |
添加扩展应用 |
add_experimental_option |
添加实验性质的设置参数 |
debugger_address |
设置调试器地址 |
Options使用示例
#配置编码格式
options.add_argument('lang=zh_CN.UTF-8')
# 浏览器不提供可视化页面
options.add_argument('--headless')
#设置有账号密码的代理
proxyauth_plugin_path = create_proxyauth_extension(
proxy_host='host',
proxy_port='port',
proxy_username="username",
proxy_password="password"
)
options.add_extension(proxyauth_plugin_path)
#设置禁止加载图片
prefs = {"profile.managed_default_content_settings.images": 2}
options.add_experimental_option("prefs", prefs)
#将配置赋值给options参数
driver = webdriver.Chrome(options = options)