You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium继承webdriver.Chrome时如何添加Chrome options禁用alert弹窗

你可以直接在FacebookBot子类的__init__方法中构造ChromeOptions配置,再传入父类的初始化方法即可,不需要额外实例化Webdriver.Chrome,不会出现多启动Chrome实例的问题。

具体修改步骤

  • 先构造ChromeOptions实例,添加禁用弹窗、通知的相关配置参数
  • 将配置完成的options对象作为参数传入父类webdriver.Chrome的初始化方法

修改后完整代码

import facebook.constants as const
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

class FacebookBot(webdriver.Chrome):
    """a class to control and automate a facebook bot for srappping"""
    def __init__(self, teardown=False):
        self.teardown = teardown
        # 初始化Chrome配置对象
        chrome_options = Options()
        # 禁用浏览器通知弹窗
        chrome_options.add_argument("--disable-notifications")
        # 禁用弹窗拦截功能
        chrome_options.add_argument("--disable-popup-blocking")
        # 配置浏览器默认禁止通知、弹窗权限申请
        chrome_options.add_experimental_option("prefs", {
            "profile.default_content_setting_values.notifications": 2,
            "profile.default_content_setting_values.popups": 2
        })
        # 如需自动同意所有alert提示,可添加以下配置
        # chrome_options.set_capability("unhandledPromptBehavior", "accept")
        
        # 将配置传入父类初始化
        super(FacebookBot, self).__init__(options=chrome_options)
        
        self.implicitly_wait(20)

    def __exit__(self, *args) -> None:
        if self.teardown:
            self.quit()
            return super().__exit__(*args)
        

    def facebook_homepage(self):
        """navigating the facebook scrapper bot to the facebook home page."""
        self.get(const.BASE_URL)

内容的提问来源于stack exchange,提问作者femiir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 16:21:01