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
相关产品推荐
相关产品推荐

