相关推荐recommended
selenium浏览器配置项大全(options)
作者:mmseoamin日期:2024-02-06

简介

上一篇文章我们快速入门的如何使用selenium,获取网页源码,此时使用selenium模拟的浏览器是一个纯净的浏览器,但是在我们平时使用的浏览器经常就会添加一些插件,扩展,代理之类的应用。相对应的,当我们用chrome浏览器爬取网站时,可能需要对这个chrome做一些特殊的配置,以满足爬虫的行为。

常见的配置有:

  • 开启无界面模式,加快访问速度

  • 配置代理,UA

  • 配置拓展插件

  • 禁止图片和视频的加载:提升网页加载速度

  • 禁用javascript

  • 禁用gpu等

    常见的配置

            Options.add_experimental_option("detach", True)        # 引入不关闭浏览器的相关配置项
            Options.add_experimental_option("excludeSwitches", ['enable-automation', 'enable-logging'])  # 避免终端下执行代码报警告
            Options.add_experimental_option("detach", True)        # 不关闭网页
            Options.add_extension('插件')                           # 加载拓展插件
            Options.add_argument('--headless')                     # 开启无界面模式,如果涉及到与网页的交互(输入内容,点击按钮)那么有些网站就不能使用无头浏览器
            Options.add_argument("--disable-gpu")                  # 禁用gpu
            Options.add_argument('--user-agent=Mozilla/5.0 HAHA')  # 配置对象添加替换User-Agent的命令
            Options.add_argument('--window-size=1366,768')         # 设置浏览器分辨率(窗口大小)
            Options.add_argument('--start-maximized')              # 最大化运行(全屏窗口),不设置,取元素会报错
            Options.add_argument('--disable-infobars')             # 禁用浏览器正在被自动化程序控制的提示
            Options.add_argument('--incognito')                    # 隐身模式(无痕模式)
            Options.add_argument('--disable-javascript')           # 禁用javascript
            Options.add_argument(f"--proxy-server=http://115.239.102.149:4214")  # 使用代理
            Options.add_argument('blink-settings=imagesEnabled=false')  # 不加载图片, 提升速度
            # 加载用户缓存,可以记录使用记录和cookie,如果不指定缓存路径,会自动创建临时文件夹。
            user_dir = r'./browser_cache'
            Options.add_argument(f"--user-data-dir={user_dir}")
    

    使用方法

    首先引入配置项

            # 引入配置项
            Options = webdriver.ChromeOptions()
    

    使用自己所需要的配置项,写入下方,比如:

            Options = webdriver.ChromeOptions()
            Options.add_argument("--disable-gpu")                  # 禁用gpu
    

    最后将配置项加入浏览器中

    # 将配置添加到浏览器对象中
    browser = webdriver.Chrome(service=s, options=options)