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

macOS Monterey环境下Selenium 4.1.1导入SafariOptions报ModuleNotFoundError且无法使用desired_capabilities的问题求助

解决Selenium 4.1.1 + Safari 15.4的两个核心问题

我来帮你一步步解决这两个配置问题,都是Selenium 4适配Safari时的典型坑:

一、修复ModuleNotFoundError: No module named 'selenium.webdriver.safari.options'

在Selenium 4.x(包括你用的4.1.1)版本中,Safari的Options类并没有放在单独的options子模块里,而是直接挂载在selenium.webdriver.safari模块下。你只需要调整导入语句:

错误写法:

from selenium.webdriver.safari.options import Options as SafariOptions

正确写法:

from selenium.webdriver.safari import SafariOptions

初始化代码可以保持不变:

self.options = SafariOptions()

这样就能解决模块找不到的问题了。

二、替代弃用的desired_capabilities,改用Options对象

Selenium 4确实已经彻底弃用了desired_capabilities参数,官方要求用Options类来管理浏览器配置。针对Safari,你可以通过SafariOptions的set_capability方法迁移原来的配置,或者直接设置对应的属性(如果有现成属性的话)。

迁移示例:从desired_capabilities到SafariOptions

假设你原来的代码是这样的:

desired_caps = {
    "safari:automaticInspection": False,
    "safari:automaticProfiling": False
}
driver = webdriver.Safari(desired_capabilities=desired_caps)

现在改成用Options的写法:

from selenium.webdriver.safari import SafariOptions
from selenium.webdriver import Safari

options = SafariOptions()
# 用set_capability添加原有的配置项
options.set_capability("safari:automaticInspection", False)
options.set_capability("safari:automaticProfiling", False)

# 初始化驱动时传入options参数
driver = Safari(options=options)

额外必做:Safari自动化前置配置

在macOS上用Safari跑自动化,必须先完成这两步,否则代码再正确也会失败:

  • 开启Safari开发者模式:打开Safari → 偏好设置 → 高级 → 勾选「在菜单栏中显示开发菜单」
  • 允许远程自动化:点击顶部菜单栏的「开发」→ 勾选「允许远程自动化」

整合后的验证代码

把这些修改整合后,你的初始化代码大概是这样的:

from selenium.webdriver.safari import SafariOptions
from selenium.webdriver import Safari

class YourTestSuite:
    def __init__(self):
        self.options = SafariOptions()
        # 添加你的自定义浏览器配置
        self.options.set_capability("safari:automaticInspection", False)
        self.driver = Safari(options=self.options)

这样就能同时解决模块找不到的错误和desired_capabilities的弃用警告了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 19:52:41