ChromeOptions()配置
- 使用
webdriver.ChromeOptions()
对Chrome浏览器进行配置;其他浏览器需要用到其他方法; - 在使用时调用即可:
from selenium_class01.chrome_options import options
driver = webdriver.Chrome(options=options())
options = webdriver.ChromeOptions()
# 添加试验性质的配置项
options.add_experimental_option()
#添加常规设定
options.add_argument()
- options的一些常用参数:
# 页面加载策略eager放弃加载css样式、静态资源等,提升加载速度
options.page_load_strategy = 'eager'
# 浏览器最大化(指定位置参数和最大化不能同时存在)
options.add_argument('start-maximized')
# 指定位置启动浏览器x代表左右,y代表上下(指定位置参数和最大化不能同时存在)
options.add_argument('window-position=0,0')
# 去掉浏览器提示自动化黄条。(enable-logging是去掉控制台多余日志信息)
options.add_experimental_option('excludeSwitches', ['enable-automation', 'enable-logging'])
# 无头模式:作为后台静默运行。偶尔场景会有异常,但很少
options.add_argument('--headless')
# 读取本地缓存的操作:webdriver启动的时候默认是不会加载本地缓存数据的。
# 调用本地缓存一定要先关闭所有的浏览器,不然会报错。
#注:AppData的路径只复制到User Data下即可
options.add_argument(r'--user-data-dir=C:\Users\xxx\AppData\Local\Google\Chrome\User Data')
# 去掉账号密码弹出框
prefs = dict()
prefs['credentials_enable_service'] = False
prefs['profile.password_manager_enable'] = False
options.add_experimental_option('prefs',prefs)
# 隐身模式。(启动隐身模式时无法调用selenium中的switch_to.new_window()函数)
options.add_argument('incognito')
# 去掉控制台多余信息
options.add_experimental_option('excludeSwitches', ['enable-logging'])
# 去掉控制台多余信息2,可以作为保险的存在。(当发现还有多余信息的时候)
options.add_argument('--log_level=3')
options.add_argument('--disable-gpu')
options.add_argument('--ignore-certificate-errors')
driver = webdriver.Chrome(options=options)
代码封装:新建chrome_options.py
from selenium import webdriver
def options():
options = webdriver.ChromeOptions()
options.page_load_strategy = 'eager'
options.add_argument('start-maximized')
options.add_argument('window-position=0,0')
options.add_experimental_option('excludeSwitches', ['enable-automation', 'enable-logging'])
return options
Chrome的AppData查看
- 浏览器url中输入
chrome://version/