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

PythonAnywhere上Selenium脚本无法运行,Chrome驱动报错求助

解决PythonAnywhere上Selenium Chrome脚本运行失败的问题

问题根源

PythonAnywhere是无图形界面的云托管环境,直接套用本地Chrome的配置会因缺少显示环境、路径不匹配等原因报错,必须针对平台特性做适配。

分步修复方案

  • 强制启用Chrome无头模式并指定平台Chrome路径
    必须给ChromeOptions添加以下关键参数,否则无法在无头环境正常运行:

    from selenium.webdriver.chrome.options import Options
    
    chrome_options = Options()
    # 核心无头模式参数
    chrome_options.add_argument("--headless")
    chrome_options.add_argument("--disable-gpu")
    chrome_options.add_argument("--no-sandbox")
    # 指定PythonAnywhere预装的Chrome二进制文件路径,不能用本地路径
    chrome_options.binary_location = "/usr/bin/google-chrome"
    
  • 正确配置ChromeDriver
    推荐用webdriver-manager自动匹配适配的ChromeDriver版本,避免手动指定路径出现版本不兼容问题:

    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service
    from webdriver_manager.chrome import ChromeDriverManager
    
    # 自动安装对应版本的ChromeDriver
    chrome_service = Service(ChromeDriverManager().install())
    # 初始化driver
    driver = webdriver.Chrome(options=chrome_options, service=chrome_service)
    
  • 调整依赖版本
    不要再使用老旧的Selenium 4.1.3,PythonAnywhere的预装Chrome版本和旧版Selenium可能存在兼容性冲突,直接安装最新兼容版:

    # 全局环境执行
    pip install --user selenium webdriver-manager
    # 虚拟环境下直接执行
    pip install selenium webdriver-manager
    
  • 排查额外报错点

    • 不要调用driver.maximize_window(),无头模式下该操作会报错,换成设置窗口大小:chrome_options.add_argument("--window-size=1920,1080")
    • 如果访问目标网站被拦截,添加模拟浏览器的User-Agent:
      chrome_options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36")
      

验证测试脚本

先运行这段极简脚本确认环境正常:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--no-sandbox")
chrome_options.binary_location = "/usr/bin/google-chrome"

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)
driver.get("https://www.google.com")
print(driver.title)
driver.quit()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 13:18:15