Python+selenium进行浏览器的连接ChromeOptions

通常我们连接浏览器都是以一个纯净的Chrome来进行操作,平时在使用浏览器的过程中,经常就添加一些插件,扩展,代理之类的应用。相对应的,当我们用chrome浏览器爬取网站时,为了提高效率可能需要对这个chrome做一些特殊的配置,以满足爬虫的行为。
常用的行为有:

  • 禁止图片和视频的加载:提升网页加载速度。
  • 添加代理:用于FQ访问某些页面,或者应对IP访问频率限制的反爬技术。
  • 使用移动头:访问移动端的站点,一般这种站点的反爬技术比较薄弱。
  • 添加扩展:像正常使用浏览器一样的功能。
  • 设置编码:应对中文站,防止乱码。
  • 阻止JavaScript执行。
    ………

chromeOptions

ChromeOptions 是一个配置 chrome 启动是属性的类。通过这个类,我们可以为chrome配置如下参数(这个部分可以通过selenium源码看到):

  • 设置 chrome 二进制文件位置 (binary_location)
  • 添加启动参数 (add_argument)
  • 添加扩展应用 (add_extension, add_encoded_extension)
  • 添加实验性质的设置参数 (add_experimental_option)
  • 设置调试器地址 (debugger_address)

源代码:

# .Libsite-packagesseleniumwebdriverchromeoptions.py
class Options(object):
    def __init__(self):
        # 设置 chrome 二进制文件位置
        self._binary_location = ''
        # 添加启动参数
        self._arguments = []
        # 添加扩展应用
        self._extension_files = []
        self._extensions = []
        # 添加实验性质的设置参数
        self._experimental_options = {}
        # 设置调试器地址
        self._debugger_address = None

使用案例:

# 设置默认编码为 utf-8,也就是中文
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('lang=zh_CN.UTF-8')
driver = webdriver.Chrome(chrome_options = options)

详情请了解:https://blog.csdn.net/xc_zhou/article/details/82415870?utm_source=app

没有结果就是最好的结果。 -Linux哲学
原文地址:https://www.cnblogs.com/Stubbornlyn/p/13372016.html