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

Selenium webdriver无法访问Firefox扩展安装弹窗上下文问题

问题原因

你遇到的Firefox扩展安装授权弹窗属于浏览器原生系统级弹窗,不属于网页DOM内容,也不是标准JavaScript警告框,因此driver.switch_to.alert方法无法识别该弹窗。

解决方案

方案1:启动浏览器时预加载扩展(推荐,无需处理弹窗)

直接在初始化Firefox驱动时加载本地扩展包,完全跳过安装弹窗流程,稳定性最高:

  1. 先从Firefox扩展商店手动下载对应扩展的.xpi安装包到本地
  2. 参考以下代码初始化驱动:
from selenium import webdriver
from selenium.webdriver.firefox.options import Options

firefox_options = Options()
# 替换为你本地xpi文件的实际路径
firefox_options.add_extension("本地路径/ether-metamask.xpi")
driver = webdriver.Firefox(options=firefox_options)

方案2:使用模拟键鼠工具操作弹窗

如果必须走网页点击安装的流程,可以用PyAutoGUI模拟键盘操作确认弹窗:

  1. 先安装依赖:pip install pyautogui
  2. 参考代码:
import time
import pyautogui
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Firefox()
driver.get("https://addons.mozilla.org/es/firefox/addon/ether-metamask/")
time.sleep(2)

# 点击添加到Firefox按钮
driver.find_element(By.XPATH, "//*[contains(text(), 'Agregar a Firefox')]").click()
time.sleep(2) # 等待弹窗完全弹出

# 模拟按下回车键确认安装(弹窗默认聚焦确认按钮)
pyautogui.press('enter')
# 如果有后续的安装完成确认提示,可再加一次回车
time.sleep(1)
pyautogui.press('enter')

注意:使用PyAutoGUI时需确保Firefox窗口处于前台激活状态,否则按键操作会被发送到其他窗口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 11:48:04