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

更新Selenium驱动后出现“ScreenshotImageFormat不存在”错误的原因?

解决Selenium中ScreenshotImageFormat不存在的编译错误

问题背景

每月运行基于Selenium的网页测试程序,用于生成SSL Labs报告并上传截图。本月仅更新适配Chrome新版本的Selenium驱动,未修改任何代码,却出现编译错误:

Error   CS0103  The name 'ScreenshotImageFormat' does not exist in the current context

旧版本构建可正常运行,需修复该问题。

问题原因

该错误源于Selenium版本更新后的API调整:在Selenium 4.x及后续版本中,ScreenshotImageFormat枚举已从核心命名空间移除,或被标记为过时,导致原有代码无法识别该类型。

解决方案

以下两种修复方式任选其一即可:

方式1:利用文件扩展名自动识别格式(推荐)

SaveAsFile方法支持仅传入文件路径,程序会根据扩展名自动判断图片格式,无需显式指定格式枚举。修改代码中截图保存的行:

原代码:

screenshot.GetScreenshot().SaveAsFile(string.Format(createdDirectoryPath + "{0}.png", domain), ScreenshotImageFormat.Png);

修改后:

screenshot.GetScreenshot().SaveAsFile(string.Format(createdDirectoryPath + "{0}.png", domain));

方式2:改用System.Drawing.Imaging.ImageFormat

  1. 确保项目已引用System.Drawing.Common NuGet包;
  2. 在代码顶部添加命名空间引用:
using System.Drawing.Imaging;
  1. 修改截图保存行:
screenshot.GetScreenshot().SaveAsFile(string.Format(createdDirectoryPath + "{0}.png", domain), ImageFormat.Png);

验证修改

修改后重新编译项目,即可消除CS0103错误,程序可正常生成截图。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 07:47:34