python自动化配置参数

selenium 配置参数

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

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

1
2
3
4
from selenium import webdriver
option = webdriver.ChromeOptions()
driver = webdriver.Chrome(chrome_options=option)
创建了ChromeOptions类之后就是添加参数,添加参数有几个特定的方法,分别对应添加不同类型的配置项目
1
2
from selenium import webdriver
option = webdriver.ChromeOptions()

添加启动参数

1
option.add_argument()

添加扩展应用

1
2
option.add_extension()
option.add_encoded_extension()

添加实验性质的设置参数

1
option.add_experimental_option()

设置调试器地址

1
option.debugger_address()

常用配置参数:

from selenium import webdriver
option = webdriver.ChromeOptions()

添加UA

1
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"')

指定浏览器分辨率

1
options.add_argument('window-size=1920x3000')

谷歌文档提到需要加上这个属性来规避bug

1
chrome_options.add_argument('--disable-gpu')

隐藏滚动条, 应对一些特殊页面

1
options.add_argument('--hide-scrollbars')

不加载图片, 提升速度

1
options.add_argument('blink-settings=imagesEnabled=false')

浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败

1
options.add_argument('--headless')

以最高权限运行

1
options.add_argument('--no-sandbox')

手动指定使用的浏览器位置

1
options.binary_location = r"C:Program Files (x86)GoogleChromeApplicationchrome.exe"

添加crx插件

1
option.add_extension('d:crxAdBlock_v2.17.crx')

禁用JavaScript

1
option.add_argument("--disable-javascript")

设置开发者模式启动,该模式下webdriver属性为正常值

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

禁用浏览器弹窗

1
2
3
4
5
6
prefs = { 
'profile.default_content_setting_values' : {
'notifications' : 2
}
}
options.add_experimental_option('prefs',prefs)

添加代理 ip

1
2
3
options.add_argument("--proxy-server=http://XXXXX.com:80")

driver = webdriver.Chrome(chrome_options=chrome_options)

其他配置项目参数

指定用户文件夹User Data路径,可以把书签这样的用户数据保存在系统分区以外的分区

1
--user-data-dir=[PATH]

指定缓存Cache路径

1
–disk-cache-dir=[PATH]

指定Cache大小,单位Byte

1
–disk-cache-size=

重置到初始状态,第一次运行

1
–first run

隐身模式启动

1
–incognito

禁用Javascript

1
–disable-javascript

将地址栏弹出的提示菜单数量改为num个

1
--omnibox-popup-count="num"

修改HTTP请求头部的Agent字符串,可以通过about:version页面查看修改效果

1
--user-agent="xxxxxxxx"

禁止加载所有插件,可以增加速度。可以通过about:plugins页面查看效果

1
--disable-plugins

禁用JavaScript,如果觉得速度慢在加上这个

1
--disable-javascript

禁用java

1
--disable-java

启动就最大化

1
--start-maximized

取消沙盒模式

1
--no-sandbox

单进程运行

1
--single-process

每个标签使用单独进程

1
--process-per-tab

每个站点使用单独进程

1
--process-per-site

插件不启用单独进程

1
--in-process-plugins

禁用弹出拦截

1
--disable-popup-blocking

禁用插件

1
--disable-plugins

禁用图像

1
--disable-images

启动进入隐身模式

1
--incognito

启用账户切换菜单

1
--enable-udd-profiles

使用pac代理 [via 1/2]

1
--proxy-pac-url

设置语言为简体中文

1
--lang=zh-CN

自定义缓存目录

1
--disk-cache-dir

自定义缓存最大值(单位byte)

1
--disk-cache-size

自定义多媒体缓存最大值(单位byte)

1
--media-cache-size

在工具 栏增加一个书签按钮

1
--bookmark-menu

启用书签同步

1
--enable-sync

使用缓存

1
2
3
options.add_argument("--disk-cache-dir=/path/to/cache/folder")
options.add_argument("--disable-application-cache")
options.add_argument("--disable-cache")

参考:https://www.cnblogs.com/sn5200/p/15949796.html