警报 Window - TakeScreenshot - Selenium C#

Alert Window - TakeScreenshot - Selenium C#

我知道在 Selenium C# 失败时获取浏览器屏幕截图的代码。

ITakesScreenshot ssdriver = gnr._driver as ITakesScreenshot;
Screenshot screenshot = ssdriver.GetScreenshot();
screenshot.SaveAsFile(saveLocation, ImageFormat.Png);

目前在我们的应用程序中,有时会在提交表单时显示未处理的警报弹出异常。在这种情况下,上面的屏幕截图代码在第 2 步失败。有没有办法在弹出警报的情况下截取浏览器的完整屏幕截图? 我知道 Selenium 仅限于浏览器,前几天在 "File Upload" 上失败了,但是截图只是浏览器上传表单的截图, windows 文件上传弹出窗口没有显示在截图中。

您可以将代码包含在 try Catch 块中。如果您的代码由于警报而未能拍摄快照,它将跳转到您可以使用

的 catch 块
driver.SwitchTo().Alert().Accept();

然后再次拍摄屏幕截图。