我已将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。
答案 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.dll
和System.Drawing
。