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

在Digital Ocean Droplet上Selenium爬虫无法运行的问题求助

解决Digital Ocean Droplet上Selenium Chrome脚本运行问题

前置条件:确保Droplet内存充足

  • 至少分配1GB内存,Chrome/Chromium运行需要足够内存支撑,内存不足会直接导致安装失败、运行时无响应或崩溃。

修正后的Selenium配置代码

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By

options = Options()
# 新版无头模式,兼容性更优
options.add_argument('--headless=new')
# 禁用沙箱,非root用户运行必备
options.add_argument('--no-sandbox')
# 解决/dev/shm内存限制问题
options.add_argument('--disable-dev-shm-usage')
# 指定窗口大小,替代无头模式下无效的start-maximized
options.add_argument('--window-size=1920,1080')
# 保持你的Chromium路径配置
options.binary_location = "/usr/bin/chromium-browser"

driver = webdriver.Chrome(options=options)

try:
    base_url = 'https://www.wikipedia.org/'
    driver.get(base_url)
    table_rows = driver.find_element(By.CSS_SELECTOR, ".footer-sidebar-text")
    text = table_rows.text
    print(text)
finally:
    # 确保无论脚本是否出错都关闭浏览器
    driver.quit()

关键参数说明

  • --headless=new:Chrome 112+引入的新版无头模式,行为更接近正常浏览器,可避免旧无头模式常见的DevToolsActivePort启动异常问题。
  • --no-sandbox:Droplet默认使用非root用户运行,Chrome的沙箱机制会阻止程序启动,必须禁用。
  • --disable-dev-shm-usage:Linux系统默认/dev/shm空间较小,Chrome依赖该目录存储临时文件,禁用后改用磁盘存储,避免内存不足导致崩溃。
  • --window-size:无头模式下无实际窗口,指定固定尺寸可避免元素定位异常,替代无效的start-maximized参数。

原配置的问题点

  • start-maximized在无头模式下不生效,反而可能干扰启动流程。
  • 不必要的--user-data-dir如果目录权限不正确,会导致Chrome无法初始化用户数据目录,引发启动失败。
  • 无调试需求时添加--remote-debugging-port可能引发端口冲突或启动异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 12:03:10