在 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;
}
您使用什么库? 因为 OpenQA.Selenium.Screenshot 对象不包含带有第二个参数的重载方法 SaveAsFile。仅启用此签名:
public override void SaveAsFile(string fileName)
{
File.WriteAllBytes(fileName, base.AsByteArray);
}
所以你应该使用第二种方法:
// this is working fine
screenshot.SaveAsFile("manas.png");