在C#中使用PhantomJS获取屏幕截图

时间:2014-07-07 16:11:38

标签: c# javascript selenium selenium-webdriver phantomjs

我已将PhantomJS和Selenium添加到我的C#控制台应用程序中,我想在获取特定元素时拍摄浏览器的屏幕截图。原因是因为出于某种原因,当我使用ChromeDriver时,它工作正常,但是当我使用PhantomJS时,它会在一些元素上失败。

我想我需要介绍如何使用phantomjs在C#中截取屏幕截图。我在互联网上环顾四周,看起来每个人都在用java脚本来做这件事。我遇到的问题是我不知道如何将java脚本集成到我的C#应用​​程序中,然后使用phantomJS来获取屏幕截图。如果我能得到一些如何做到这一点的帮助,那将是非常好的。

TLDR: 我找到了http://code.tutsplus.com/tutorials/testing-javascript-with-phantomjs--net-28243,这就是我想要做的,但我不知道如何在我的c#app中使用javascript。

1 个答案:

答案 0 :(得分:10)

正如您所说,您已经有适用于Chrome的代码,最好发布它,以便显示您的确切内容。

但是,以下是如何在C#中使用PhantomJSDriver截取屏幕截图:

var driver = new PhantomJSDriver();
driver.Manage().Window.Maximize(); // optional
driver.Navigate().GoToUrl("http://stackoverflow.com");

driver.TakeScreenshot().SaveAsFile("screenshot.png", ImageFormat.Png);

driver.Quit();

请注意,您需要在项目中引用WebDriver.Support.dllSystem.Drawing