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
解决办法
匹配Safari与WebDriver版本
Safari浏览器和其WebDriver版本必须完全一致,升级或降级Safari到对应版本,确保两者版本同步。启用Safari远程自动化权限
- 打开Safari偏好设置 → 高级,勾选「在菜单栏中显示“开发”菜单」。
- 点击菜单栏「开发」→「允许远程自动化」。
- 修正代码语法问题
原代码中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/')
- 重置Safari WebDriver
关闭所有Safari窗口,终端执行:
killall safaridriver
重新打开Safari并再次确认远程自动化权限已开启。
- 检查权限并更新依赖
- 确保
safaridriver有执行权限,终端执行:
sudo chmod +x /usr/bin/safaridriver
- 更新Selenium到最新版本:
pip install --upgrade selenium
内容的提问来源于stack exchange,提问作者Puzino
相关产品推荐
相关产品推荐

