PythonAnywhere部署Selenium代码提示chromedriver路径错误
问题根源
你踩了两个最常见的平台适配坑,和chromedriver存放路径完全无关:
- PythonAnywhere是Linux服务器环境,你上传的
chromedriver.exe是Windows平台专属可执行文件,Linux系统无法运行exe格式的程序,不管你怎么改路径都不可能生效。 - 你本地Windows调试用的启动参数不全,Linux无头环境运行Chrome缺少必需的启动参数,就算驱动对了也会崩溃。
修复步骤
- 删掉你上传到项目目录的所有
chromedriver.exe文件,这个文件在Linux环境下完全没用。PythonAnywhere已经预装了和系统Chromium版本完全匹配的Chromedriver,不需要自己手动上传驱动。 - 替换你的Selenium初始化代码为以下版本:
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() # 启用新版无头模式 chrome_options.add_argument("--headless=new") # Linux容器环境必需参数,禁用沙箱 chrome_options.add_argument("--no-sandbox") # 规避共享内存不足导致的崩溃 chrome_options.add_argument("--disable-dev-shm-usage") # 不手动指定驱动路径,自动读取系统预装的chromedriver driver = webdriver.Chrome(options=chrome_options)
- (可选)如果运行时仍然提示找不到chromedriver,打开PythonAnywhere的Bash控制台,执行以下命令将预装驱动的路径加入系统环境变量:
echo 'export PATH="$PATH:/usr/lib/chromium-browser/"' >> ~/.bashrc source ~/.bashrc
补充说明
如果你使用Selenium 4.6及以上版本,内置的Selenium Manager会自动适配当前系统的驱动版本,不需要手动配置PATH,只要写对启动参数即可正常运行。
内容的提问来源于stack exchange,提问作者Роберт Гумеров
相关产品推荐
相关产品推荐

