AWS EC2 Ubuntu环境部署Selenium运行时报无法获取Chrome版本错误
报错原因
webdriver_manager会自动检测本地Chrome浏览器的版本,以此匹配对应版本的ChromeDriver。该报错是因为你部署代码的AWS EC2 Ubuntu服务器没有安装Google Chrome浏览器,导致版本检测命令执行失败。
修复步骤
- 第一步:在Ubuntu服务器上安装Google Chrome稳定版
执行如下命令完成安装:
# 更新系统包索引 sudo apt update # 安装必要依赖 sudo apt install -y wget unzip # 下载Chrome官方稳定版安装包 wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb # 安装下载的安装包 sudo dpkg -i google-chrome-stable_current_amd64.deb # 自动修复安装过程中缺失的依赖 sudo apt install -f -y
安装完成后执行google-chrome-stable --version,如果正常返回版本号则说明安装成功,此时原代码即可正常运行。
- 第二步:优化Selenium配置(可选,避免后续其他运行错误)
为了适配Linux服务器的运行环境,建议给Chrome启动参数增加如下配置,避免沙箱、内存不足等常见问题:
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() # 原有headless配置,建议替换为新headless模式兼容性更好 chrome_options.add_argument("--headless=new") # 新增Linux环境必备参数 chrome_options.add_argument("--no-sandbox") # 非沙箱模式,适配root用户运行场景 chrome_options.add_argument("--disable-dev-shm-usage") # 解决小内存实例共享内存不足问题 chrome_options.add_argument("--disable-gpu") # 禁用GPU加速,适配无图形界面的服务器环境 # Selenium 4.6+版本内置驱动管理,无需额外调用ChromeDriverManager driver = webdriver.Chrome(options=chrome_options)
如果需要手动指定Chrome的安装路径,可以在配置中额外加一行:chrome_options.binary_location = "/usr/bin/google-chrome-stable"
内容的提问来源于stack exchange,提问作者Zohaib Shamshad
相关产品推荐
相关产品推荐

