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

标签 c# javascript selenium selenium-webdriver phantomjs

<分区>

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

我想我需要介绍一下如何使用 phantomjs 在 C# 中截取屏幕截图。我在互联网上四处张望,似乎每个人都在使用 java 脚本来执行此操作。我遇到的问题是我不知道如何将 java 脚本集成到我的 C# 应用程序中,然后将其与 phantomJS 一起使用来获取屏幕截图。如果我能获得有关如何执行此操作的帮助,那就太好了。

长篇大论: 我找到了 http://code.tutsplus.com/tutorials/testing-javascript-with-phantomjs--net-28243这就是我想做的,但我不知道如何在我的 C# 应用程序中使用 javascript。

最佳答案

正如您提到的,您已经拥有适用于 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

关于c# - 在 C# 中使用 PhantomJS 获取屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24615079/

相关文章:

c# - .NET Core - C# - MacOS |钥匙串(keychain) API

c# - 通过 ssl 调用 web 服务并使用客户端传递

c# - 显示当前时间 WPF

javascript - 设置超时后jquery运行函数

java - 通过 Selenium WebDriver 验证列表元素

c# - 使用 LINQ 从 XML 文件中选择元素

javascript - 保持一个元素固定,并允许其他元素在移动浏览器地址栏向上滚动时折叠时滚动

Javascript循环获取并显示数组中的每个第二个字符串

python - 使用 Python 获得所需的功能

selenium - Xpath选择器差异: pros and cons