mb62abf3afb54fb2022-06-18 00:02:10
文章标签chromechrome浏览器加载文章分类虚拟化云计算阅读数1473

前言
1、 Chromeoptions 是Chrome浏览器的参数对象,是配置Chrome启动时属性的类。通过某些参数可以为Chrome浏览器添加启动参数。

2、Chrome浏览器启动时的参数携带过程:启动参数在初始化Chrome浏览器的webdriver对象时传入option,实现按特定参数启动。

3、 Chromeoptions 类是Selenium WebDriver中的一个概念,用于操作Chrome驱动程序的各种属性。

4、 ChromeOptions 是chromedriver支持的浏览器启动选项。

5、源代码位置: .\Lib\site-packages\selenium\webdriver\chrome\options.py

class Options(object):

```python def __init__(self):# 设置 chrome 二进制文件位置self._binary_location = ''# 添加启动参数self._arguments = []# 添加扩展应用self._extension_files = []self._extensions = []# 添加实验性质的设置参数self._experimental_options = {}# 设置调试器地址self._debugger_address = None
6、selenium工具操作浏览器默认是不加载任何用户配置,需要我们在初始化浏览器的webdriver对象时手动去加载或者去设置浏览器的初始化信息。7、ChromOptions是一个配置Chrom浏览器启动时属性的类,通过该类可以为Chrome浏览器配置如下参数:设置 chrome 二进制文件位置 (binary_location)添加启动参数 (add_argument)添加扩展应用 (add_extension, add_encoded_extension)添加实验性质的设置参数 (add_experimental_option)设置调试器地址 (debugger_address)加载用户所有的Chrome浏览器配置用Chrome浏览器地址栏输入 chrome://version/ ,查看自己的《个人资料路径》,然后在浏览器启动时,调用该用户配置文件。selenium工具启动Chrome浏览器时配置选项详解_chrome浏览器代码如下:selenium工具在初始化Chrome浏览器webdriver对象时已经加载了用户配置```python```python#coding=utf-8from selenium import webdriveroption = webdriver.ChromeOptions()option.add_argument('--user-data-dir=C:\Users\Administrator\AppData\Local\Google\Chrome\User Data') # 设置成用户自己的数据目录driver = webdriver.Chrome(chrome_options=option)
修改浏览器User-Agent用户代理信息(模拟移动终端信息)(已达到伪装浏览器的效果)代码如下:伪装浏览器为手机端访问某网站移动设备user-agent表格:​ ​http://www.fynas.com/ua​​代码实例1:```python```python#coding=utf-8from selenium import webdriveroption = webdriver.ChromeOptions()option.add_argument('--user-agent=iphone')driver = webdriver.Chrome(chrome_options=option)driver.get('http://www.taobao.com/')
.代码实例2:```python# 通过设置user-agent,用来模拟移动设备# 比如模拟 android QQ浏览器```pythonoptions.add_argument('user-agent="MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"')
```python# 模拟iPhone 6options.add_argument('user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"')指定selenium工具操作Chrome浏览器时下载文件的路径代码实例1:```pythonoption = webdriver.ChromeOptions()
```python# 设定下载文件的保存目录为D盘的D:\downloadFileprefs = {"download.default_directory":"D:\download"}# 将自定义设置添加到chrome配置对象实例中
```pythonoption.add_experimental_option("prefs", prefs)driver = webdriver.Chrome(options=option, executable_path=CHROME_DRIVER_PATH)driver.maximize_window()
代码实例2:```python```python# coding=utf-8from selenium import webdriverdriver_path = (r'xx/chromedriver.exe')# 驱动位置prefs = {'profile.default_content_settings.popups': 0, 'download.default_directory': '默认下载路径'}# 设置下载文件存放路径,这里要写绝对路径options = webdriver.ChromeOptions()options.add_experimental_option('prefs', prefs)options.add_argument('headless')# 浏览器隐式启动driver = webdriver.Chrome(executable_path=driver_path, options=options)
设置selenium工具操作Chrome浏览器时的默认编码方式```python```python# 设置默认编码为 utf-8,也就是中文from selenium import webdriveroptions = webdriver.ChromeOptions()options.add_argument('lang=zh_CN.UTF-8')driver = webdriver.Chrome(chrome_options = options)
设置selenium工具操作Chrome浏览器---禁止图片加载(一般用于爬虫,加快访问速度)(不加载图片的情况下,可以提升爬取速度)```python```python# 禁止图片的加载from selenium import webdriverchrome_options = webdriver.ChromeOptions()prefs = {"profile.managed_default_content_settings.images": 2}chrome_options.add_experimental_option("prefs", prefs)
```python```python# 启动浏览器,并设置好waitbrowser = webdriver.Chrome(chrome_options=chrome_options)
设置不弹出自动化提示代码如下:```python```pythonchrome_options = webdriver.ChromeOptions()chrome_options.add_argument('disable-infobars')driver = webdriver.Chrome(chrome_options = chrome_options)

selenium工具启动Chrome浏览器时配置选项详解_加载_02

设置selenium操作Chrome浏览器后台运行```python```pythonoption = webdriver.ChromeOptions()option.add_argument('headless')

Chrome浏览器设置开发者模式

options = webdriver.ChromeOptions()options.add_experimental_option('excludeSwitches', ['enable-automation'])self.browser = webdriver.Chrome(executable_path=chromedriver_path, options=options)
其他配置登录后复制 ```python```pythonoptions.add_argument('--disable-infobars') # 禁止策略化options.add_argument('--no-sandbox') # 解决DevToolsActivePort文件不存在的报错options.add_argument('window-size=1920x3000') # 指定浏览器分辨率options.add_argument('--disable-gpu') # 谷歌文档提到需要加上这个属性来规避bugoptions.add_argument('--incognito') # 隐身模式(无痕模式)options.add_argument('--disable-javascript') # 禁用javascriptoptions.add_argument('--start-maximized') # 最大化运行(全屏窗口),不设置,取元素会报错options.add_argument('--disable-infobars') # 禁用浏览器正在被自动化程序控制的提示options.add_argument('--hide-scrollbars') # 隐藏滚动条, 应对一些特殊页面options.add_argument('blink-settings=imagesEnabled=false') # 不加载图片, 提升速度options.add_argument('--headless') # 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败options.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" # 手动指定使用的浏览器位置