Получение скриншота с использованием 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
в вашем проекте.