如何在aarch64架构上运行含x86二进制文件的Selenium Python包?
解决Selenium Manager在aarch64架构下的运行问题
源码编译可行性
Selenium官方源码仓库包含Selenium Manager的完整代码,你可以自行克隆后针对aarch64架构编译:
- 克隆Selenium主仓库:
git clone https://github.com/SeleniumHQ/selenium.git - 进入Selenium Manager目录:
cd selenium/selenium-manager - 该工具基于Go语言开发,确保本地安装Go环境后,按照仓库内的编译文档执行编译,生成适配aarch64 Linux的二进制文件
- 编译完成后,将生成的
selenium-manager替换Python包路径下的webdriver/common/linux/selenium-manager文件即可
已知解决方法
1. 手动指定浏览器驱动路径
跳过Selenium Manager的自动驱动管理流程,直接下载对应aarch64架构的浏览器驱动(如Firefox的geckodriver),在代码中显式指定驱动路径:
from selenium import webdriver from selenium.webdriver.firefox.service import Service # 替换为你的aarch64版本geckodriver路径 service = Service(executable_path="/usr/local/bin/geckodriver-aarch64") driver = webdriver.Firefox(service=service)
2. 升级Selenium到兼容版本
Selenium 4.11.0及后续版本已开始支持aarch64架构的Selenium Manager,直接升级到最新稳定版即可解决架构不兼容问题:
pip install --upgrade selenium
升级后可检查Python包内的selenium-manager二进制文件是否适配aarch64。
3. 手动替换适配的Selenium Manager二进制
若暂时无法升级版本,可自行编译或获取可信的aarch64版本selenium-manager,替换Python安装目录下的对应文件,并设置可执行权限:
# 替换为你的Python包实际路径 cp /path/to/compiled-selenium-manager /usr/local/lib/python3.7/site-packages/selenium/webdriver/common/linux/selenium-manager chmod +x /usr/local/lib/python3.7/site-packages/selenium/webdriver/common/linux/selenium-manager
内容的提问来源于stack exchange,提问作者TSG
相关产品推荐
相关产品推荐

