Получение скриншота с использованием PhantomJS в C#

Я добавил PhantomJS и Selenium в свое консольное приложение C# и хочу сделать снимок экрана браузера, когда он попадает в определенный элемент. Причина в том, что по какой-то причине, когда я использую ChromeDriver, он работает нормально, но когда я использую PhantomJS, он не работает на нескольких элементах.

Я думаю, мне нужно введение в том, как сделать снимок экрана в C# с помощью Phantomjs. Я посмотрел в Интернете, и похоже, что все используют Java-скрипты для этого. У меня проблема в том, что я не знаю, как интегрировать Java-скрипты в мое приложение на C#, а затем использовать его с phantomJS, чтобы получить снимок экрана. Если бы я мог получить некоторую помощь о том, как это сделать, было бы очень приятно.

TLDR: я нашел http://code.tutsplus.com/tutorials/testing-javascript-with-phantomjs--net-28243 и это то, что я хочу сделать, но я не знаю, как использовать JavaScript в моем приложение C#

1 ответ

Поскольку вы упомянули, что у вас уже есть код, работающий для Chrome, лучше опубликовать его, чтобы показать, что именно вам нужно.

Тем не менее, вот как сделать снимок экрана, используя PhantomJSDriver в C# в целом:

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

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

driver.Quit();

Обратите внимание, что вам нужно ссылку WebDriver.Support.dll а также System.Drawing в вашем проекте.

Другие вопросы по тегам