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

AWS EC2上Selenium WebDriver报错:无法获取浏览器驱动及语法错误

解决AWS EC2上Selenium Manager执行报错"Syntax error: "(" unexpected"的问题

核心原因分析

这个报错大概率是Selenium Manager二进制文件与EC2实例架构不匹配导致的:旧VPS和WSL2一般是x86_64架构,而AWS部分实例(比如t4g系列)用的是ARM64(aarch64)架构。当系统尝试运行不兼容的二进制文件时,会误将其当作Shell脚本解析,从而抛出语法错误。

具体解决方案


1. 确认EC2实例架构

先执行命令确认当前实例的CPU架构:

uname -m
  • 输出x86_64:x86架构
  • 输出aarch64:ARM64架构

2. 重新安装匹配架构的Selenium Webdriver

删除现有不兼容的依赖,重新安装对应版本:

# 删除现有selenium-webdriver目录
rm -rf node_modules/selenium-webdriver

# 根据架构安装
# ARM64架构
npm install selenium-webdriver@^4.12.0 --force --arch=arm64

# x86_64架构
npm install selenium-webdriver@^4.12.0

3. 手动替换Selenium Manager二进制(如果自动安装失败)

如果重新安装后问题依旧,手动替换对应架构的二进制文件:

  1. 获取对应4.12.0版本的Selenium Manager二进制(ARM64或x86_64版本)
  2. 替换目标文件并添加执行权限:
chmod +x /home/ubuntu/myproj/source/node_modules/selenium-webdriver/bin/linux/selenium-manager

4. 验证二进制文件可用性

直接执行二进制文件测试是否正常:

/home/ubuntu/myproj/source/node_modules/selenium-webdriver/bin/linux/selenium-manager --version

如果能正常输出版本号,说明二进制已适配,再重新运行项目即可。

5. 确认Node.js架构一致性

确保Node.js版本与EC2架构匹配:

node -p process.arch
  • ARM64实例对应输出arm64
  • x86_64实例对应输出x64
    如果不匹配,重新安装对应架构的Node.js 18.17.1版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 03:16:16