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

Heroku部署Selenium+Python时截图存储位置及获取方法咨询

Heroku上Selenium截图的存储位置与获取方法

存储位置

当你在Heroku上运行driver.save_screenshot("screenshot.png")时,截图会被保存到应用运行的dyno临时文件系统的工作目录(也就是代码执行时的当前目录)。

但要注意:Heroku的dyno文件系统是临时且短暂的——当dyno重启、休眠或者应用重新部署后,所有临时文件都会被清除,无法持久保留。

获取方法

1. 持久化存储(推荐)

由于Heroku临时文件系统无法长期保存文件,最可靠的方式是截图完成后立刻将文件上传到第三方云存储服务(如AWS S3、Google Cloud Storage等),确保截图能永久留存。

示例代码(上传到AWS S3):

import boto3
from botocore.exceptions import ClientError

# 生成截图
driver.save_screenshot("screenshot.png")

# 初始化S3客户端
s3_client = boto3.client(
    "s3",
    aws_access_key_id="你的AWS Access Key",
    aws_secret_access_key="你的AWS Secret Key"
)

# 上传截图到S3存储桶
try:
    s3_client.upload_file(
        "screenshot.png",
        "你的S3存储桶名称",
        "保存到桶里的文件名.png"
    )
except ClientError as e:
    print(f"上传失败: {e}")

2. 临时调试获取

如果只是调试需要查看截图,可以通过Heroku CLI操作:

  • 进入应用的dyno shell:执行heroku run bash --app 你的应用名称
  • 在shell中用ls命令确认screenshot.png是否存在
  • 将文件从dyno复制到本地:执行heroku ps:copy screenshot.png --app 你的应用名称,文件会被下载到本地当前目录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 19:15:57