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

使用Headless Chrome截图出现空白网页该如何解决?

Headless Chrome 截图全白问题修复

你现有代码存在3个直接导致空白截图的问题,按以下步骤修改即可:

  • 替换过时的Headless模式:Chrome 112+版本后,options.headless = True启用的旧版Headless存在大量渲染兼容问题,直接删除该行,替换为新版Headless启动参数options.add_argument("--headless=new")
  • 补全必要的环境兼容参数:无GUI环境下运行必须加上两个参数规避渲染崩溃,否则浏览器进程可能静默渲染失败:
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
  • 修正截图逻辑顺序:你当前代码初始化浏览器后没有调用driver.get()加载目标页面,浏览器默认停留在空白的about:blank页面,截图自然全白。同时不要在页面发起请求后立刻截图,要等页面加载完成再执行截图操作。
  • 删除冲突参数:你同时添加了start-maximized和--window-size=1920,1080两个窗口控制参数,二者逻辑冲突,保留固定窗口大小参数即可。

修复后的完整参考代码:

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

options = Options()
options.add_argument("--headless=new")
options.add_argument("--window-size=1920,1080")
options.add_argument("--disable-gpu")
options.add_argument('--ignore-certificate-errors')
options.add_argument('--allow-running-insecure-content')
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
# 替换为实际需要截图的页面地址
driver.get("https://你的目标网页地址")
# 等待页面完全加载
WebDriverWait(driver, 10).until(
    lambda d: d.execute_script("return document.readyState") == "complete"
)
driver.get_screenshot_as_file("screenshot.png")
driver.quit()

额外排查点:

  • 如果目标站点有反爬机制,Headless模式可能被识别拦截返回空白页,可以添加自定义UA参数模拟普通浏览器访问:options.add_argument("--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36")
  • 如果页面存在大量懒加载内容,可以在等待加载完成后额外执行滚动操作触发所有资源加载,再执行截图。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 21:03:40