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

这篇具有很好参考价值的文章主要介绍了selenium工具启动Chrome浏览器时配置选项详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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-8

from selenium import webdriver

option = 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-8

from selenium import webdriver

option = 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浏览器

```python
options.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 6
options.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:

```python
option = webdriver.ChromeOptions()

```python
# 设定下载文件的保存目录为D盘的D:\downloadFile
prefs = {"download.default_directory":"D:\download"}
# 将自定义设置添加到chrome配置对象实例中
```python
option.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(options=option, executable_path=CHROME_DRIVER_PATH)
driver.maximize_window()

代码实例2:

```python
```python
# coding=utf-8
from selenium import webdriver

driver_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 webdriver

options = webdriver.ChromeOptions()

options.add_argument('lang=zh_CN.UTF-8')

driver = webdriver.Chrome(chrome_options = options)

设置selenium工具操作Chrome浏览器---禁止图片加载(一般用于爬虫,加快访问速度)(不加载图片的情况下,可以提升爬取速度)

```python

```python
# 禁止图片的加载
from selenium import webdriver

chrome_options = webdriver.ChromeOptions()
prefs = {"profile.managed_default_content_settings.images": 2}
chrome_options.add_experimental_option("prefs", prefs)

```python

```python
# 启动浏览器,并设置好wait
browser = webdriver.Chrome(chrome_options=chrome_options)

设置不弹出自动化提示
代码如下:

```python

```python
chrome_options = webdriver.ChromeOptions()

chrome_options.add_argument('disable-infobars')

driver = webdriver.Chrome(chrome_options = chrome_options)

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


设置selenium操作Chrome浏览器后台运行

```python
```python
option = webdriver.ChromeOptions()

option.add_argument('headless')

Chrome浏览器设置开发者模式文章来源地址https://www.toymoban.com/news/detail-505622.html

options = webdriver.ChromeOptions()

options.add_experimental_option('excludeSwitches', ['enable-automation'])

self.browser = webdriver.Chrome(executable_path=chromedriver_path, options=options)

其他配置
登录后复制 

```python
```python
options.add_argument('--disable-infobars') # 禁止策略化

options.add_argument('--no-sandbox') # 解决DevToolsActivePort文件不存在的报错

options.add_argument('window-size=1920x3000') # 指定浏览器分辨率

options.add_argument('--disable-gpu') # 谷歌文档提到需要加上这个属性来规避bug

options.add_argument('--incognito') # 隐身模式(无痕模式)

options.add_argument('--disable-javascript') # 禁用javascript

options.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" # 手动指定使用的浏览器位置






到了这里,关于selenium工具启动Chrome浏览器时配置选项详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CentOS7 启动谷歌浏览器 java+Selenium+chrome+chromedriver

    前言:自己想使用该技术实现自动化抓取音乐,目前在window上运行成功,需要在Linux Centos服务上跑,配置上出现了许多问题,特此记录。 参考文档:CentOS7 安装Selenium+chrome+chromedriver+java_远方丿的博客-CSDN博客  我们明确的是,在window上是安装了chrome和自带了chromeDriver的,之所

    2024年02月11日
    浏览(106)
  • 【已解决】使用selenium启动谷歌Chrome浏览器打开指定网站,页面空白,而使用其它浏览器手动打开该网站则正常

    1、在使用python实现自动化网络爬虫时,我使用到selenium来驱动谷歌Chrome浏览器来打开某一个网页,然后爬取数据,代码如下:    2、但是当执行到driver.get(url)访问网站时,页面是空白的,如下所示,没有正常显示该网站的数据    print输出的网页html也只有如下数据: htmlhea

    2024年02月12日
    浏览(66)
  • Selenium控制已运行的Edge和Chrome浏览器——在线控制 | 人机交互(详细启动步骤和bug记录)

    说明:本记录是在Windows系统上执行的! 起因是:博导要求统计一下国内某个领域的专家情况,统计主持国家自然科学基金的副教授和教授都有哪些大牛! 于是:本人去[NSFC]:https://kd.nsfc.cn/ 下载全部的历史基金项目书。。。。工作量太大就……半自动化实现吧!!! 无论是

    2024年04月10日
    浏览(104)
  • 学习selenium+python使用 XPath 表达式来实现找到目标元素时智能封装等待,执行测试代码启动Chrome浏览器后,地址栏只显示data;

    学习使用 XPath 表达式来实现找到目标元素时智能封装等待 执行测试代码启动Chrome浏览器后,地址栏只显示 data; 看了好久找到了替代启动浏览器的方法:换成 self.driver.get(\\\'http://localhost:8080\\\') 就好了 然后开始琢磨两者的区别: 使用 self.driver.get(\\\'http://localhost:8080\\\') 时,driver 是

    2024年01月17日
    浏览(70)
  • 设置开机自动启动chrome浏览器

    前端时间参与了一体机的项目,需要开启后自动打开应用,没有接触过的项目,一切上搜索。 以下是对项目的开机启动做一个记录... 步骤一 、 设置开机自动启动浏览器 自动全屏访问某个url 分屏一体机,两个显示器分别显示不同的url  1、首先打开C:ProgramDataMicrosoftWindows

    2024年02月06日
    浏览(52)
  • selenium如何接管(控制)已打开Chrome浏览器

    一、目标 使用selenium接管已经打开的Chrome浏览器,并以百度网站为例,输出“百度一下”标签元素。 注: 我的终端是windows系统,适用于windows系统 二、实现步骤 1. 首先用cmd命令切换到终端安装Chrome的路径 下面是我的终端chrome安装路径,不同终端安装可能不一样, 若是不一

    2024年02月11日
    浏览(62)
  • Selenium操作已经打开的Chrome浏览器窗口

    在使用之前的代码通过selenium操作Chrome浏览器时,每次都要新打开一个窗口,觉得麻烦,所以尝试使用 Selenium 获取已经打开的浏览器窗口,在此记录下过程 本文使用 chrome浏览器来做示例。 ChromeDriver谷歌浏览器驱动的下载安装与使用,可以参考点击:Selenium安装WebDriver:Chro

    2024年02月05日
    浏览(107)
  • Python selenium自动化操作Chrome浏览器

    ​ ​ 活动地址:CSDN21天学习挑战赛 Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持目前比较主流的浏览器。它也实现了诸多自动化功能,比如软件自动化测试,检测软件与浏览器兼容性,自动录制、生成不同语言

    2024年02月02日
    浏览(54)
  • 解决selenium打开Chrome浏览器自动退出的问题

    好不容易安装好selenium和对应的浏览器驱动器后终于可以运行程序了,结果发现一运行程序后浏览器打开就自动退出了,但是我在Python代码中并没有写driver.quit()方法,上网查了查发现原来是我的selenium版本是4.8.2的,selenium升级到版本4.7.2后,会出现这个浏览器自动退出的问题

    2024年02月11日
    浏览(68)
  • Selenium 远程调用 Google Chrome 谷歌浏览器

    我最近又使用谷歌浏览远程调用发现不能使用了 参考连接 具体原因是因为 谷歌浏览器在11几的版本(目前是:114.0.5735.91)之后只能使用JDK高版本我目前使用的是JDK17版本远程调用如果是低版本比如102左右的是好使的,新使用方法我更新在下面 一. 前沿 每次重新运行Selenium都直接弹

    2024年02月10日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包