每次当selenium启动chrome浏览器的时候,chrome浏览器很干净,没有插件、没有收藏、没有历史记录,这是因为selenium在启动chrome时为了保证最快的运行效率,启动了一个裸浏览器,这就是为什么需要配置参数的原因,但是有些时候我们需要的不仅是一个裸浏览器。

selenium启动配置参数接收是ChromeOptions类,创建方式如下:

1 from selenium import webdriver
2 option = webdriver.ChromeOptions()

创建了ChromeOptions类之后就是添加参数,添加参数有几个特定的方法,分别对应添加不同类型的配置项目。

设置 chrome 二进制文件位置 (binary_location)

 1 from selenium import webdriver
2 option = webdriver.ChromeOptions()
3
4 # 添加启动参数
5 option.add_argument()
6
7 # 添加扩展应用
8 option.add_extension()
9 option.add_encoded_extension()
10
11 # 添加实验性质的设置参数
12 option.add_experimental_option()
13
14 # 设置调试器地址
15 option.debugger_address()

常用配置参数:

 1 from selenium import webdriver
2 option = webdriver.ChromeOptions()
3
4 # 添加UA
5 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"')
6
7 # 指定浏览器分辨率
8 options.add_argument('window-size=1920x3000')
9
10 # 谷歌文档提到需要加上这个属性来规避bug
11 chrome_options.add_argument('--disable-gpu')
12
13 # 隐藏滚动条, 应对一些特殊页面
14 options.add_argument('--hide-scrollbars')
15
16 # 不加载图片, 提升速度
17 options.add_argument('blink-settings=imagesEnabled=false')
18
19 # 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
20 options.add_argument('--headless')
21
22 # 以最高权限运行
23 options.add_argument('--no-sandbox')
24
25 # 手动指定使用的浏览器位置
26 options.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
27
28 #添加crx插件
29 option.add_extension('d:\crx\AdBlock_v2.17.crx')
30
31 # 禁用JavaScript
32 option.add_argument("--disable-javascript")
33
34 # 设置开发者模式启动,该模式下webdriver属性为正常值
35 options.add_experimental_option('excludeSwitches', ['enable-automation'])
36
37 # 禁用浏览器弹窗
38 prefs = {
39 'profile.default_content_setting_values' : {
40 'notifications' : 2
41 }
42 }
43 options.add_experimental_option('prefs',prefs)
44
45 driver=webdriver.Chrome(chrome_options=chrome_options)

浏览器地址栏参数:

在浏览器地址栏输入下列命令得到相应的信息

 1 about:version - 显示当前版本
2
3   about:memory - 显示本机浏览器内存使用状况
4
5   about:plugins - 显示已安装插件
6
7   about:histograms - 显示历史记录
8
9   about:dns - 显示DNS状态
10
11   about:cache - 显示缓存页面
12
13   about:gpu -是否有硬件加速
14
15   chrome://extensions/ - 查看已经安装的扩展

其他配置项目参数:

 1 –user-data-dir=”[PATH]”
2 # 指定用户文件夹User Data路径,可以把书签这样的用户数据保存在系统分区以外的分区
3
4   –disk-cache-dir=”[PATH]“
5 # 指定缓存Cache路径
6
7   –disk-cache-size=
8 # 指定Cache大小,单位Byte
9
10   –first run
11 # 重置到初始状态,第一次运行
12
13   –incognito
14 # 隐身模式启动
15
16   –disable-javascript
17 # 禁用Javascript
18
19   --omnibox-popup-count="num"
20 # 将地址栏弹出的提示菜单数量改为num个
21
22   --user-agent="xxxxxxxx"
23 # 修改HTTP请求头部的Agent字符串,可以通过about:version页面查看修改效果
24
25   --disable-plugins
26 # 禁止加载所有插件,可以增加速度。可以通过about:plugins页面查看效果
27
28   --disable-javascript
29 # 禁用JavaScript,如果觉得速度慢在加上这个
30
31   --disable-java
32 # 禁用java
33
34   --start-maximized
35 # 启动就最大化
36
37   --no-sandbox
38 # 取消沙盒模式
39
40   --single-process
41 # 单进程运行
42
43   --process-per-tab
44 # 每个标签使用单独进程
45
46   --process-per-site
47 # 每个站点使用单独进程
48
49   --in-process-plugins
50 # 插件不启用单独进程
51
52   --disable-popup-blocking
53 # 禁用弹出拦截
54
55   --disable-plugins
56 # 禁用插件
57
58   --disable-images
59 # 禁用图像
60
61   --incognito
62 # 启动进入隐身模式
63
64   --enable-udd-profiles
65 # 启用账户切换菜单
66
67   --proxy-pac-url
68 # 使用pac代理 [via 1/2]
69
70   --lang=zh-CN
71 # 设置语言为简体中文
72
73   --disk-cache-dir
74 # 自定义缓存目录
75
76   --disk-cache-size
77 # 自定义缓存最大值(单位byte)
78
79   --media-cache-size
80 # 自定义多媒体缓存最大值(单位byte)
81
82   --bookmark-menu
83 # 在工具 栏增加一个书签按钮
84
85   --enable-sync
86 # 启用书签同步

————————————————

原文链接:https://blog.csdn.net/weixin_41624982/java/article/details/88904262

selenium启动Chrome配置参数问题的更多相关文章

  1. selenium 定制启动chrome的参数

    selenium 定制启动chrome的参数 设置代理. 禁止图片加载 修改ua https://blog.csdn.net/vinson0526/article/details/51850929 1 ...

  2. selenium启动Chrome时,加载用户配置文件

    selenium启动Chrome时,加载用户配置文件   Selenium操作浏览器是不加载任何配置的,网上找了半天,关于Firefox加载配置的多点,Chrome资料很少,下面是关于加载Chrome ...

  3. MongoDB启动文件配置参数详解

    接手的MongoDB只有一个日志文件,体积非常大,排错不便.在找解决办法的时候发现MongoDB的启动文件配置项超级多,于是产生了解释配置参数的想法. mongod服务有两种启动方式 一种是通过配置文 ...

  4. selenium+python自动化100-centos上搭建selenium启动chrome浏览器headless无界面模式

    环境准备 前言 selenium在windows机器上运行,每次会启动界面,运行很不稳定.于是想到用chrome来了的headless无界面模式,确实方便了不少. 为了提高自动化运行的效率和稳定性,于 ...

  5. Selenium启动Chrome浏览器提示“请停用以开发者模式运行的扩展程序”的解决办法

    安装了python selenium,运行下面代码: 1 from selenium import webdriver 2 3 browser = webdriver.Chrome() 4 brows ...

  6. selenium加载配置参数,让chrome浏览器不出现‘Chrome正在受到自动软件的控制’的提示语,以及后台静默模式启动自动化测试,不占用桌面的方法

    一:自动化测试的时候,启动浏览器出现‘Chrome正在受到自动软件的控制’,怎么样隐藏,今天学习分享: 在浏览器配置里加个参数,忽略掉这个警告提示语,disable_infobars option = ...

  7. Selenium下Chrome配置 (含启动无痕界面)

    例子: 设置无界面模式浏览器启动chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--headless') ...

  8. selenium启动chrome模拟器模拟手机

    一.如果chrome选项里边有这个模拟设备(比如iPhone 6 Plus): 1.先启动Selenium Grid, 比如命令:java -jar selenium-server-standalon ...

  9. appium启动APP配置参数:

    一.Android启动app   python启动脚本如下:   from appium import webdriver   desired_caps = {} desired_caps['plat ...

  10. mysql 5.6 rpm安装启动、配置参数、字符集修改等

    linux 7 安装mysql server 注意:此mysql版本是el6 MySQL-server-5.6.35-1.el6.x86_64 一.安装部署: 1.yum:首先要配置yum源,yum安 ...

随机推荐

  1. C++笔记(5)浅拷贝和深拷贝

    1. 定义 浅拷贝(shallow copy):多个对象共用同一块资源,同一块资源释放多次,崩溃或者内存泄漏 深拷贝(deep copy):每个对象共同拥有自己的资源,必须显式提供拷贝构造函数和赋值运 ...

  2. k8s组件和网络插件挂掉,演示已有的pod是否正常运行

    环境 03 master ,05 06是node [root@mcwk8s03 mcwtest]# kubectl get nodes -o wide NAME STATUS ROLES AGE VE ...

  3. C#.NET根据不同业务类别类型写入不同文件中,动态创建log4net实例验证

    C#.NET根据不同业务类别类型写入不同文件中,动态创建log4net实例验证 参考了:https://www.cnblogs.com/-dawn/p/8598566.html GetLog4netI ...

  4. 支付宝支付jemter 插件,导入到高版本jmeter 中使用

    官方支付宝压力测试文档中: 蚂蚁金服开放平台 - 文档中心 (alipay.com) 有个 temp.jmx 文件(http://p.tb.cn/rmsportal_10157_temp.jmx.zi ...

  5. 老张,你的服务是不是挂了?论全局 SLI 的重要性

    场景再现 你正在午休,正梦见中了彩票,突然收到电话告警,说服务对外接口 95 分位延迟突增,惊出一身冷汗,睡意全无,抓紧打开监控系统,查看服务的 SLI 指标,发现确实有问题,已经持续 1 分钟,这服 ...

  6. 燕千云 YQCloud 数智化业务服务管理平台发布1.11版本

    2022年3月25日,燕千云 YQCloud 数智化业务服务管理平台发布1.11版本.新增客户服务管理模块.优化IT服务管理功能.增强燕千云与其他平台的集成能力.支持更多的业务服务场景.全面提升企业数 ...

  7. CloseableHttpClient 连接超时导致XxlJob调度阻塞,影响调度任务的执行

    CloseableHttpClient 连接超时导致XxlJob调度阻塞,影响调度任务的执行 问题原因1.分析日志发现,xxlJob后台界面没有执行时间和执行结果,在某一个时间点之后,某一个任务因为阻 ...

  8. 为什么https要使用证书

    为什么https要使用证书 什么是httpshttps不是一种新的协议,只是http的通信接口部分使用了ssl和tsl协议替代,加入了加密.证书.完整性保护的功能. 加密:共享密钥加密加密和解密公用一 ...

  9. NumPy 差分、最小公倍数、最大公约数、三角函数详解

    NumPy 差分 离散差分意味着相邻元素之间的减法. 例如,对于 [1, 2, 3, 4],离散差分将是 [2-1, 3-2, 4-3] = [1, 1, 1] 要找到离散差分,使用 diff() 函 ...

  10. spring-事务案例

    spring的案例场景 同一个事务中使用并发操作导致更新获取锁失败 @Autowired Service service1; @Transactional public void methodA(){ ...