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

Selenium定义webdriver后无后续代码执行问题求助

解决Ubuntu下Selenium初始化ChromeDriver后停滞的问题

以下是针对你遇到的问题的几个可行解决方案:

1. 强制匹配Chrome与ChromeDriver版本

虽然webdriver-manager会自动适配,但网络问题可能导致下载的驱动版本不匹配:

  • 先在终端查Chrome版本:
    google-chrome --version
    
  • 手动指定对应版本的ChromeDriver安装,比如你的Chrome是114.0.5735.90,就改成:
    driver = webdriver.Chrome(service=Service(ChromeDriverManager(version="114.0.5735.90").install()), options=options)
    
  • 或者直接下载对应版本的ChromeDriver,放到/usr/local/bin目录,给它加可执行权限:
    chmod +x /usr/local/bin/chromedriver
    

2. 添加Ubuntu专属启动参数

Ubuntu下Chrome默认的沙箱机制和共享内存限制容易导致卡住,给Options加这两个参数:

options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")

如果不需要可视化界面,再加无头模式参数:

options.add_argument("--headless=new")

修改后的完整代码示例:

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

options = Options()
options.add_argument("start-maximized")
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
# 可选:无头模式
# options.add_argument("--headless=new")

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
print("Hello, World!")
# 记得最后关闭驱动
driver.quit()

3. 检查系统依赖

Ubuntu上Chrome可能缺少必要的系统库,执行以下命令安装:

sudo apt update && sudo apt install libnss3 libxss1 libappindicator3-1 libu2f-udev

4. 确认权限设置

  • 确保运行Python的用户对Chrome和ChromeDriver有执行权限
  • 如果是用root用户运行,必须额外加--no-sandbox参数(不建议用root,尽量用普通用户执行)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 08:30:41