【发布时间】:2021-04-13 13:04:14
【问题描述】:
突然在 2021 年 1 月 6 日下午,我在 OSX 下的 Selenium Protractor 测试因神秘错误而停止工作
spawn Unknown system error -86
我做了一些研究,发现错误号 86 与
Bad CPU type in executable
并运行以下命令将我的 chromedriver 二进制文件的 cpu 架构与我的系统进行比较:
% file chromedriver_87.0.4280.88
chromedriver_87.0.4280.88: Mach-O 64-bit executable arm64
% uname -a
Darwin kobl179273m 19.6.0 Darwin Kernel Version 19.6.0: Thu Oct 29 22:56:45 PDT 2020; root:xnu-6153.141.2.2~1/RELEASE_X86_64 x86_64
% uname -p
i386
如何修复我的 Selenium 使用的 chromedriver 二进制文件,以便它可以在我的 Intel x64 mac 上运行并清除“系统错误 -86”或“Bad CPU type”消息?
【问题讨论】:
-
看来 chromedriver 现在支持 Apple Silicon ARM 架构,并且“webdriver-manager update --versions.chrome=
”现在总是从 chromedriver.storage.googleapis.com 获取 chromedriver 的 arm64 版本,而不是x86_64 构建。我试图弄清楚如何强制 webdriver-manager 下载 intel x86 版本。 -
问题是直到 chrome 版本 86 只有一个版本的 mac64 chromedriver。但是从 chrome 版本 87 开始。chrome mac64 和 mac64_ml 有两个二进制文件。只下载了用于 arm64 架构的 mac64_ml 所以修复需要在 webdriver_manager chrome_xml.js 中完成。
-
顺便说一句,错误代码 86 可以通过回滚到 Chrome 86 来修复,这完全是巧合
标签: macos selenium webdriver selenium-chromedriver apple-silicon