下面是“Selenium启动Chrome时配置选项详解”的完整攻略。
一、前言
在使用Selenium进行自动化测试的时候,启动WebDriver时需要添加一系列配置选项。其中,配置Chrome参数是一项比较需要注意的地方。本文将详细讲解Selenium启动Chrome时配置选项的定义、使用方法及参数含义。
二、Chrome配置选项详解
1. ChromeOptions
ChromeOptions 是用来配置 ChromeDriver 启动 Chrome时的选项的对象。这些选项可以用于启动或配置 Chrome 浏览器。在代码中应该这样来实例化 ChromeOptions 对象:
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
2. add_argument()
ChromeOptions 中最常用的方法是 add_argument(),它的作用是向 Chrome 启动命令行添加参数。具体用法如下:
chrome_options.add_argument("参数")
下面是一些常用的参数:
- 禁用GPU:
chrome_options.add_argument('--disable-gpu')
- 设置浏览器窗口大小
chrome_options.add_argument('--window-size=1100,800')
- 隐藏Chrome正在受到自动测试软件的控制的提示条
chrome_options.add_argument('disable-infobars')
- 自动开启Chrome下载(默认是手动)
prefs = {
"download.default_directory": "/path/to/download/dir",
"download.prompt_for_download": False,
"download.directory_upgrade": True,
"safebrowsing.enabled": True
}
chrome_options.add_experimental_option("prefs", prefs)
- 设置ChromeDriver的路径
chrome_options.binary_location = "/usr/bin/google-chrome-stable"
- 更多参数可以查阅官方文档
3. add_extension()
在Chrome下启用已经安装的扩展(chrome extensions),可以使用以下代码:
chrome_options.add_extension('/path/to/extension.crx')
4. add_experimental_option()
add_experimental_option() 是一个更高级的 API,它可以用来启用或禁用一组特定的功能。下面是一个示例:
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
capa = DesiredCapabilities.CHROME.copy()
capa['chrome.page.settings.userAgent'] = "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"
chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("mobileEmulation", capa)
5. 示例说明
下面我们通过两个示例具体介绍ChromeOptions的使用。
示例1:配置ChromeDriver参数
在运行 ChromeDriver 启动 Chrome 时,可以添加启动选项。比如可以禁用 Chrome 正在被自动化软件控制的提示信息,以避免它们干扰你的测试。此时代码应该这样写:
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--disable-infobars')
driver = webdriver.Chrome(chrome_options=chrome_options)
这样 Selenium 就可以完全控制在启用的 ChromeWebdriver 中打开的所有新窗口,而不需要处理警告或提示。
示例2:在 Chrome 中安装扩展
有时候,我们希望在 Chrome 浏览器中使用扩展来辅助开发和调试。通过Selenium安装Chrome扩展可能比较麻烦,比如需要响应 JavaScript 警告窗口。一般我们可以通过以下方法来安装扩展:
-
首先打开 Chrome 浏览器,然后在地址栏输入
chrome://extensions/
,进入扩展管理列表页。 -
浏览你要求安装的扩展,并单击安装。
-
扩展将以一个“*.crx”文件的形式下载。
一旦扩展文件已经下载,就可以在 Selenium 中通过 add_extension() 方法轻松安装扩展。例如:
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_extension('/path/to/extension.crx')
driver = webdriver.Chrome(chrome_options=chrome_options)
这些选项在整个测试周期中,常常催生出了极其有价值的信息。Selenium 的 ChromeOptions 函数为我们提供了许多启动选项。通过慢慢学习了解它们,我们可以更好地使用并掌握 Chrome 浏览器。
三、结语
到这里,我们就详细讲解了“Selenium启动Chrome时配置选项”的定义、使用方法及参数含义,同时还分别给出了相应的实例说明。期望对大家的测试工作会有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Selenium启动Chrome时配置选项详解 - Python技术站