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

如何绕过Safari自动化测试安全警报并禁用glass pane

绕过Safari自动化测试安全警报及禁用Glass Pane方案

一、搞定“Safari窗口由自动化测试远程控制”警报

这个警报是Safari的安全防护机制,以下几种方法可以彻底解决:

  • 手动配置(适合单次操作):
    打开Safari偏好设置 → 高级,勾选「在菜单栏显示“开发”菜单」;接着点开顶部的「开发」菜单,勾选「允许远程自动化」。完成后再启动自动化测试,就不会弹出该提示。

  • 命令行批量配置(适合CI/自动化环境):
    直接在终端执行以下命令,一键修改Safari配置,无需手动操作:

    defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2AutomationEnabled -bool true
    defaults write com.apple.Safari AllowRemoteAutomation -bool true
    killall Safari
    

    执行后重启Safari,警报直接消失。

  • WebDriver启动补充参数:
    使用Selenium等工具启动SafariDriver时,添加--disable-popup-blocking参数,可进一步避免弹窗干扰。

二、禁用Safari的Glass Pane(半透明遮罩)

Glass Pane是自动化模式下Safari添加的遮罩层,官方没有直接的禁用开关,但有两种可行的规避方法:

  • 修改SafariDriver配置文件:
    找到路径~/Library/Application Support/com.apple.Safari/SafariDriver/下的config.json(无则新建),写入以下内容:

    {
      "AutomationPreferences": {
        "ShowGlassPane": false
      }
    }
    

    保存后重启SafariDriver,遮罩不再显示。

  • 用AppleScript强制隐藏:
    在自动化脚本中,启动Safari后添加一段AppleScript代码,直接将Glass Pane设为不可见:

    tell application "Safari"
      set windowID to id of front window
      tell application "System Events"
        set glassPane to first UI element of window windowID of application process "Safari" whose description contains "Glass Pane"
        set visible of glassPane to false
      end tell
    end tell
    

    注意:需给运行脚本的应用(如终端、IDE)在「系统偏好设置→安全性与隐私→隐私→辅助功能」中开启权限,否则脚本无法执行。

内容的提问来源于stack exchange,提问作者Mr.A

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 18:54:23