首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用屏幕截图时,SaveAsFile(fileName,Imageformat)方法在Selenium屏幕截图类中的用法是什么?

在使用屏幕截图时,SaveAsFile(fileName,Imageformat)方法在Selenium屏幕截图类中的用法是什么?
EN

Stack Overflow用户
提问于 2021-05-19 12:37:07
回答 1查看 362关注 0票数 0

我试图找出selenium屏幕截图类中SaveAsFile方法的正确用法,在我看来,我们传递文件名的两个方法以及文件格式(filename.png)或(filename.jpeg,ScreenshotImageFormat.Jpeg)都可以获得屏幕快照。

我们什么时候需要使用SaveAsFile(filename.jpeg,ScreenshotImageFormat.Jpeg)方法?它在截图的时候做了什么?

代码语言:javascript
复制
Screenshot ss = ((ITakesScreenshot) driver).GetScreenshot();
ss.SaveAsFile(@"E:\C#\MyFirstProject\MyFirstProject\Screenshot\Mytest.png");
ss.SaveAsFile(@"E:\C#\MyFirstProject\MyFirstProject\Screenshot\nataraj2.Jpeg", ScreenshotImageFormat.Png);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-19 12:44:59

区别在于,默认情况下,没有第二个参数的SaveAsFile方法使用ScreenshotImageFormat.Png。另一个带有两个参数的SaveAsFile允许您指定一组更广泛的选项。

因此,如果要手动指定文件类型,则应使用SaveAsFile(fileName, format)方法。

代码片段源代码:

代码语言:javascript
复制
/// <summary>
/// Saves the screenshot to a Portable Network Graphics (PNG) file, overwriting the
/// file if it already exists.
/// </summary>
/// <param name="fileName">The full path and file name to save the screenshot to.</param>
public override void SaveAsFile(string fileName)
{
    this.SaveAsFile(fileName, ScreenshotImageFormat.Png);
}

/// <summary>
/// Saves the screenshot to a file, overwriting the file if it already exists.
/// </summary>
/// <param name="fileName">The full path and file name to save the screenshot to.</param>
/// <param name="format">A <see cref="ScreenshotImageFormat"/> value indicating the format
/// to save the image to.</param>
public void SaveAsFile(string fileName, ScreenshotImageFormat format)
{

来源:https://github.com/SeleniumHQ/selenium/blob/64447d4b03f6986337d1ca8d8b6476653570bcc1/dotnet/src/webdriver/Screenshot.cs

selenium使用的Image.Save逻辑是文档化的这里。Microsoft docs声明了以下行为:

如果图像的文件格式不存在编码器,则使用便携式网络图形(PNG)编码器。当使用Save方法将图形图像保存为Windows元文件格式(WMF)或增强型元文件格式(EMF)时,生成的文件将保存为便携式网络图形(PNG)文件。之所以出现此行为,是因为.NET框架的.NET组件没有可用于将文件保存为.wmf或.emf文件的编码器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67603423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档