Selenium InternetExplorerDriver没有使用MVC Web应用程序截屏

时间:2018-02-05 11:33:12

标签: c# asp.net-mvc selenium

我使用的是selenium web驱动程序3.4.0。我已下载IEDriver.exe并已复制到bin文件夹。我有一个MVC应用程序,它将致力于获取给定链接的屏幕截图。该链接可以是任何网站的任何内容。我们需要截取该网页的屏幕截图并将其存储到PDF中。 现在,我使用C#创建了控制台应用程序并添加了WebDriver.dll。调用控制台应用程序时,应用程序正常工作。截图是拍摄的。

当从MVC Web应用程序调用相同的代码时,它会截取网页的屏幕截图,但是它的黑色。这有什么理由吗?

var options = new InternetExplorerOptions();
options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;

var driver = new InternetExplorerDriver(options);

driver.Manage().Window.Maximize();

driver.Navigate().GoToUrl("URL TO BE BROWSED");

var screenshot = ((ITakesScreenshot)driver).GetScreenshot();   

screenshot.SaveAsFile("Test.png", ScreenshotImageFormat.Png);
driver.Quit();

1 个答案:

答案 0 :(得分:0)

是否打开网页?如果没有,请确保您拥有正确的IEDriverServer.exe。此外,如果从控制器内部调用Selenium,则需要映射输出,如screenshot.SaveAsFile(Server.MapPath("Test.png"), ScreenshotImageFormat.Png);,但这意味着您的MVC Web App正在服务器上打开浏览器窗口。去其他网站;我不知道这是不是你想要的。