这一章学习Chrome Options,主要参考
Chrome Options是一个配置chrome启动时属性的类,通过这个参数我们可以为Chrome添加如下参数:
Chrome Options常用的行为一般有以下几种:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 实例化一个启动参数对象
chrome_options = Options()
# 使用add_argument()方法添加启动参数
chrome_options.add_argument('--window-size=1366,768')
# 在初始化Webdriver对象时将参数对象传入Chrome(实现以特定参数启动),则启动了一个设置了窗口大小的Chrome
browser = webdriver.Chrome(chrome_options=chrome_options)
browser.get('https://www.douban.com')
提示信息:
G:\python\work\cankao>python 0317.py
0317.py:9: DeprecationWarning: use options instead of chrome_options
browser = webdriver.Chrome(chrome_options=chrome_options)
DevTools listening on ws://127.0.0.1:49421/devtools/browser/fe4bb06c-22f6-4c21-b647-f8a8a0816d56
第一个提示的意思是将“browser = webdriver.Chrome(chrome_options=chrome_options)”中的参数“chrome_options”修改为“options”
第二个提示“开发工具正在侦听……”不影响程序运行,参考资料,增加一行代码即可
修改后的代码如下:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 实例化一个启动参数对象
chrome_options = Options()
#增加以防止出现“DevTools listening on ws://127.0.0.1……”的提示
chrome_options.add_experimental_option('excludeSwitches', ['enable-logging'])
# 使用add_argument()方法添加启动参数
chrome_options.add_argument('--window-size=1366,768')
# 在初始化Webdriver对象时将参数对象传入Chrome(实现以特定参数启动),则启动了一个设置了窗口大小的Chrome
browser = webdriver.Chrome(options=chrome_options)
browser.get('https://www.douban.com')
启动参数主要有:
一、设置浏览器以无界面方式运行
#设置浏览器以无界面方式运行
chrome_options.add_argument('--headless')
#或者:
chrome_options.headless=True
二、禁用图片
#禁用图片加载参数设置(在headless模式下也生效)
chrome_options.add_argument('blink-settings=imagesEnabled=false')
#或者:
prefs = {"profile.managed_default_content_settings.images": 2}
chrome_options.add_experimental_option("prefs", prefs)
三、修改User-Agent
#修改User-Agent
chrome_options.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.193 Safari/537.36')
四、设置编码格式
# 设置默认编码为 utf-8
chrome_options.add_argument('lang=zh_CN.UTF-8')
五、代理ip设置
同一个IP反复爬取同一个网站很有可能被封,因此建议建立代理ip池循环使用,降低被禁几率