我知道在Selenium C#失败期间获取浏览器屏幕截图的代码。
ITakesScreenshot ssdriver = gnr._driver as ITakesScreenshot;
Screenshot screenshot = ssdriver.GetScreenshot();
screenshot.SaveAsFile(saveLocation, ImageFormat.Png);
在我们的应用程序中,有时在表单提交期间会显示未处理的警报弹出异常。在这种情况下,上面的屏幕截图代码在第2步失败。有没有办法在弹出警报的情况下获取浏览器的完整屏幕截图? 我知道Selenium仅限于浏览器,有一天在&#34; File Upload&#34;上有失败,但屏幕截图只是浏览器上传表单,windows File Upload弹出窗口中没有显示。< / p>
答案 0 :(得分:2)
您可以将代码放入try Catch块中。如果您的代码由于警报而无法拍摄快照,它将跳转到catch块,您可以使用
driver.SwitchTo().Alert().Accept();
然后再次拍摄屏幕。