带有两个参数的 SaveAsFile 方法会引发错误

问题描述 投票:0回答:1

在 C# 中使用 Selenium 时,我在尝试使用带有两个参数的

SaveAsFile
方法时遇到了问题。具体来说,我想传递
ScreenshotImageFormat.png
” 作为第二个参数,但我不断收到编译时错误。

引发错误的代码片段:

 screenshot.SaveAsFile(screenshotLocation, ScreenshotImageFormat.Png);

我的整个方法:

public string addScreenshot(IWebDriver driver, ScenarioContext scenarioContext)
{
    ITakesScreenshot takesScreenshot = (ITakesScreenshot)driver;

    Screenshot screenshot = takesScreenshot.GetScreenshot();
    string screenshotLocation = Path.Combine(testResultPath, scenarioContext.ScenarioInfo.Title + ".Jpeg");

    // this line is causing compile time error.
    screenshot.SaveAsFile(screenshotLocation, ScreenshotImageFormat.Jpeg);

    // this is working fine
    screenshot.SaveAsFile("manas.png");

    return screenshotLocation;
}
c# selenium-webdriver
1个回答
0
投票

您使用什么库? 因为 OpenQA.Selenium.Screenshot 对象不包含带有第二个参数的重载方法 SaveAsFile。仅启用此签名:

 public override void SaveAsFile(string fileName)
 {
     File.WriteAllBytes(fileName, base.AsByteArray);
 }

所以你应该使用第二种方法:

// this is working fine
    screenshot.SaveAsFile("manas.png");
© www.soinside.com 2019 - 2024. All rights reserved.