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

如何获取Selenium中SafariOptions等全部可用配置的完整列表?

Safari + Selenium 配置指南:Capabilities、偏好设置及常见需求实现

一、已掌握的基础配置

你目前实现的Safari相关Selenium配置可整理为:

SafariOptions 配置

options = webdriver.SafariOptions()
options.automatic_inspection = True  # 激活Web检查器

SafariService 配置

service = webdriver.SafariService(service_args=["--diagnose"])  # 启用日志诊断

初始化Driver并获取Capabilities

driver = webdriver.Safari(service=service, options=options)

# 获取已支持的Capabilities
browser_name = driver.capabilities['browserName']
browser_version = driver.capabilities['browserVersion']

二、核心需求实现:自定义下载路径+关闭自动打开安全下载

Safari的下载相关设置无法直接通过SafariOptions的set_preference或add_argument实现,需通过修改Safari的用户偏好配置文件完成,具体操作如下:

1. 修改全局Safari偏好(适用于测试环境)

启动Selenium前,通过Python修改macOS下的Safari配置文件(路径为~/Library/Preferences/com.apple.Safari.plist):

import plistlib
import os

# 定义Safari偏好文件路径
safari_plist_path = os.path.expanduser("~/Library/Preferences/com.apple.Safari.plist")

# 读取现有配置
with open(safari_plist_path, 'rb') as f:
    plist_data = plistlib.load(f)

# 设置自定义下载路径
plist_data['DownloadDirectory'] = "/Users/your-username/Downloads/SeleniumTests"
# 关闭自动打开安全下载文件
plist_data['AutoOpenSafeDownloads'] = False

# 写入修改后的配置
with open(safari_plist_path, 'wb') as f:
    plistlib.dump(plist_data, f)

注意:修改后需确保Safari完全退出,再启动Selenium的SafariDriver,否则配置不会生效。

2. 临时用户配置(可选,避免影响全局设置)

若不想修改全局Safari配置,可创建临时用户目录,指定驱动使用该目录的偏好:

service = webdriver.SafariService(service_args=["--data-path", "/path/to/temporary-profile-directory"])

随后在临时目录下创建com.apple.Safari.plist文件,写入上述下载相关配置即可。

三、Safari在Selenium中可用的配置完整列表

1. Capabilities 可选项

除你已掌握的browserName、browserVersion,还支持:

  • platformName:浏览器运行的操作系统平台
  • safari:automaticInspection:对应SafariOptions.automatic_inspection配置
  • safari:automaticProfiling:是否自动启动性能分析器
  • safari:useSimulator:是否使用iOS模拟器中的Safari(仅macOS支持)

2. Preferences 可选项

Safari的偏好本质是其plist配置项,所有可配置项对应Safari自身的设置,可通过以下方式获取完整列表:

  • 修改Safari偏好设置面板的任意选项后,查看~/Library/Preferences/com.apple.Safari.plist文件的变化,对应获取配置键名
  • 在终端执行defaults read com.apple.Safari命令,导出当前所有生效的Safari偏好配置

3. SafariService 支持的参数

除--diagnose外,还支持:

  • --data-path:指定驱动使用的临时数据目录
  • --port:指定驱动监听的端口号
  • --log-path:指定日志文件输出路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 03:05:03