浏览器在启动之初,如果需要对浏览器进行一些特定内容的定义,可以通过浏览器的options类来实现对应的配置内容。不同的浏览器有不同的options,chromes对应的就是ChromeOptions类,ChromeOptions类中options设置项有很多,不需要死记硬背。对于特殊的设置项,可以用到的时候进行查找。
那么我们如何辨别查找到options相关的内容是有效的?
#支持python3.7以及以上的版本,源码里面是这么写的 driver = webdriver.Chrome(options=options)
关于如何使用,有很多相关的方法:
1.创建ChromeOptions对象
options =webdriver.ChromeOptions()
2.页面加载模式
options.page_load_strategy = 'nomal'
3.窗口最大化
options.add_argument('start-maximized')
4.指定浏览器的启动坐标
options.add_argument('window-position = 2000,500')
5.指定浏览器的窗体大小
options.add_argument('window-size=1200,800')
6.去掉浏览器的自动化黄条:一般不是太有需要
options.add_experimental_option('excludeSwitches',['enable-automation'])
7.无头模式,不在桌面生成浏览器运行,浏览器作为后台程序,静默后台运行。虽然无法肉眼看到,一切照旧,该运行的自然会运行
options.add_argument('--headless')
8.去掉账号密码保存弹窗
prefs = { 'credentials_enable_service': False, 'profile.password_manager_enable': False } options.add_experimental_option("prefs", prefs)
9.加载本地缓存信息:Selenium默认启动的浏览器是不会加载本地缓存的。
1. 该功能可以实现验证码的绕过,但前提条件是需要提前手动登录一次(只对可以记住登录状态的网站有效)。 2. 该功能可以起到一定程度的反爬效果,具体根据被访问系统的反爬机制而决定 3. 该功能的使用,只能够在一个浏览器生效,如果在启动之前开启有其他的chrome浏览器,则该功能无法生效,会报错。一定要关闭所有浏览器以后再运行webdriver
options.add_argument(r"--user-data-dir=缓存路径")
10.启动隐身模式
options.add_argument('incognito')
11.去除控制台多余的信息:避免掉无用的信息内容
options.add_experimental_option('excludeSwitches', ['enable-logging'])
12.去除控制台多余的信息手段二
options.add_argument('--log_level=3') options.add_argument('--disable-gpu') options.add_argument('--ignore-certificate-errors')
版权归原作者 watermelon48 所有, 如有侵权,请联系我们删除。