Я хочу сделать снимок экрана с веб-страницы, используя Selenium. Я заметил, что для снятия скриншота требуется открыть веб-браузер. попытался изменить webDriver.Navigate().GoToUrl("http://www.google.com");
с webDriver.Url = "http://www.google.com";
, но не успел, Я даже попытался оставить его без URL-адреса, и браузер был открыт с URL-адресом 'data', который теперь я понимаю, что что-то еще делает браузер открытым.Selenium, как сделать снимок экрана, не открывая браузер?
private void button1_Click(object sender, EventArgs e)
{
var capabilitiesInternet = new
OpenQA.Selenium.Remote.DesiredCapabilities();
capabilitiesInternet.
SetCapability("ignoreProtectedModeSettings", true);
IWebDriver webDriver = new ChromeDriver();
webDriver.Navigate().GoToUrl("http://www.google.com");
Screenshot screenshot = ((ITakesScreenshot)webDriver).GetScreenshot();
screenshot.SaveAsFile("E:\\ScreenShot.png",
System.Drawing.Imaging.ImageFormat.Png);
webDriver.Quit();
}
Нет, не вариант, так как ваш Firefox является «настоящим» браузером для пользователей. Но если вы следуете первой ссылке, она показывает, как настроить графическую среду, чтобы рендеринг мог произойти «в памяти», и поэтому пользователь не увидит. –
Чтобы быть честным, я рекомендую подход PhantomJS - это очень полезный инструмент для добавления в ваш арсенал, но помните, что он не обязательно сделает 100% таким же, как FF. –