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

如何在Amazon EC2实例非headless模式下运行Selenium加载PDF

报错原因说明

DevToolsActivePort file doesn't exist 报错的核心原因是Amazon EC2默认Linux实例没有图形化桌面环境,Chrome非headless模式启动时需要依赖X11显示服务,找不到对应服务就会直接崩溃。

解决方案

方案1:优先使用Chrome新版headless模式(无需配置虚拟显示,操作最简单)

Chrome 112及以上版本推出的--headless=new模式,和普通非headless模式功能完全一致,支持PDF渲染,同时保留了headless模式无需图形环境的优势,完美适配EC2无桌面的运行环境,不需要修改为非headless模式就能解决PDF加载问题。
示例代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
# 启用新版完整功能headless模式,替代旧的options.headless = True配置
options.add_argument("--headless=new")
# EC2环境必备启动参数,避免权限和共享内存不足问题
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
# 配置允许Chrome直接渲染PDF,不自动下载
options.add_experimental_option("prefs", {
    "plugins.always_open_pdf_externally": False
})

driver = webdriver.Chrome(options=options)

方案2:必须使用非headless模式的配置方法

如果有特殊需求必须关闭headless模式,可以通过Xvfb工具模拟虚拟图形环境运行Chrome。

步骤1:安装系统依赖

  • Amazon Linux/CentOS 系列实例执行:
sudo yum install xorg-x11-server-Xvfb liberation-fonts xorg-x11-fonts-*
  • Ubuntu/Debian 系列实例执行:
sudo apt update && sudo apt install xvfb fonts-liberation xfonts-100dpi xfonts-75dpi xfonts-scalable

步骤2:安装Python依赖

pip install pyvirtualdisplay

步骤3:调整运行代码

from pyvirtualdisplay import Display
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 启动虚拟显示器,分辨率可自行调整
display = Display(visible=0, size=(1920, 1080))
display.start()

options = Options()
options.headless = False
# EC2环境必备启动参数
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
# 配置PDF渲染权限
options.add_experimental_option("prefs", {
    "plugins.always_open_pdf_externally": False
})

driver = webdriver.Chrome(options=options)

# 业务逻辑运行结束后关闭资源
# driver.quit()
# display.stop()

注意事项

  • 请确保Chrome浏览器和ChromeDriver的大版本号完全匹配,避免出现兼容性问题
  • EC2实例配置建议至少1G内存,否则Chrome启动容易出现崩溃

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 12:54:05