Когда я делаю скриншоты с помощью ChromeDriver, я получаю экраны с размером моего окна просмотра.
Когда я делаю скриншоты с FirefoxDriver, я получаю то, что хочу, это полноэкранный отпечаток веб-сайта.
ChromeDriver объявляется следующим образом:
IWebDriver driver = new ChromeDriver();
FirefoxDriver объявляется следующим образом:
IWebDriver driver = new FirefoxDriver();
Оба драйвера выполняют идентичный код:
driver.Manage().Window.Maximize();
driver.Navigate().GoToUrl(url);//url is a string variable
ITakesScreenshot screenshotDriver = driver as ITakesScreenshot;
Screenshot screenshot = screenshotDriver.GetScreenshot();
screenshot.SaveAsFile("c:/test.png", ImageFormat.Png);
ChromeDriver test.png имеет разрешение 1920x1099 и содержит только окно просмотра браузера.
FirefoxDriver test.png имеет разрешение 1903x16559 и содержит всю страницу.
Я знаю, что метод GetScreenshot()
не возвращает одинаковые разрешения, потому что он имеет несколько разные реализации в IEDriver, FirefoxDriver, OperaDriver, ChromeDriver.
Мои вопросы:
-
Почему существует такая разница между методом ChromeDriver и FirefoxDriver
.GetScreenshot()
, даже если они используют идентичный интерфейс (ITakesScreenshot)? -
Есть ли способ заставить метод ChromeDriver
GetScreenshot()
вернуть весь экран веб-страницы вместо окна просмотра?