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

Selenium Python Safari WebDriver运行异常求助

Safari WebDriver 运行异常排查与解决

问题情况

运行Python脚本时,Safari浏览器会打开并访问目标URL,但10秒后自动关闭并抛出错误,已安装Safari WebDriver但问题未解决。

涉及代码

with webdriver.Safari as browser:
     browser.get('https://www.google.com/')

报错追踪信息

Traceback (most recent call last):
  File "/Users/puzino/PycharmProjects/fiverr_usa/main_1.py", line 55, in run
    browser.get(url)
  File "/Users/puzino/PycharmProjects/fiverr_usa/env/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 449, in get
    self.execute(Command.GET, {"url": url})
  File "/Users/puzino/PycharmProjects/fiverr_usa/env/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 440, in execute
    self.error_handler.check_response(response)
  File "/Users/puzino/PycharmProjects/fiverr_usa/env/lib/python3.11/site-packages/selenium/webdriver/remote/errorhandler.py", line 245, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: 


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/puzino/PycharmProjects/fiverr_usa/main_1.py", line 125, in <module>
    run(login_user=login, password=password, url=url)
  File "/Users/puzino/PycharmProjects/fiverr_usa/main_1.py", line 40, in run
    with webdriver.Safari(executable_path='/usr/bin/safaridriver') as browser:
  File "/Users/puzino/PycharmProjects/fiverr_usa/env/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 300, in __exit__
    self.quit()
  File "/Users/puzino/PycharmProjects/fiverr_usa/env/lib/python3.11/site-packages/selenium/webdriver/safari/webdriver.py", line 118, in quit
    super().quit()
  File "/Users/puzino/PycharmProjects/fiverr_usa/env/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 562, in quit
    self.execute(Command.QUIT)
  File "/Users/puzino/PycharmProjects/fiverr_usa/env/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 440, in execute
    self.error_handler.check_response(response)
  File "/Users/puzino/PycharmProjects/fiverr_usa/env/lib/python3.11/site-packages/selenium/webdriver/remote/errorhandler.py", line 245, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidSessionIdException: Message: 
Process finished with exit code 1

Safari错误信息

异常类型:EXC_BAD_ACCESS (段错误 SIGSEGV)
异常代码:KERN_INVALID_ADDRESS at 0x0000000000000048
异常代码:0x0000000000000001, 0x0000000000000048

解决办法

  1. 匹配Safari与WebDriver版本
    Safari浏览器和其WebDriver版本必须完全一致,升级或降级Safari到对应版本,确保两者版本同步。

  2. 启用Safari远程自动化权限

  • 打开Safari偏好设置 → 高级,勾选「在菜单栏中显示“开发”菜单」。
  • 点击菜单栏「开发」→「允许远程自动化」。
  1. 修正代码语法问题
    原代码中webdriver.Safari未加括号,正确写法:
with webdriver.Safari(executable_path='/usr/bin/safaridriver') as browser:
    browser.get('https://www.google.com/')

Selenium 4+版本推荐使用Service类替代executable_path:

from selenium.webdriver.safari.service import Service

service = Service('/usr/bin/safaridriver')
with webdriver.Safari(service=service) as browser:
    browser.get('https://www.google.com/')
  1. 重置Safari WebDriver
    关闭所有Safari窗口,终端执行:
killall safaridriver

重新打开Safari并再次确认远程自动化权限已开启。

  1. 检查权限并更新依赖
  • 确保safaridriver有执行权限,终端执行:
sudo chmod +x /usr/bin/safaridriver
  • 更新Selenium到最新版本:
pip install --upgrade selenium

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 18:52:10