Selenium WebDriver C # Pełna strona internetowa z ChromeDriver i FirefoxDriver
Kiedy robię zrzuty ekranu z ChromeDriver, otrzymuję ekrany o rozmiarze mojej rzutni.
Kiedy robię zrzuty ekranu za pomocą FirefoxDriver, otrzymuję to, czego chcę, czyli wydruk pełnoekranowy strony internetowej.
ChromeDriver jest zadeklarowany w ten sposób:
IWebDriver driver = new ChromeDriver();
FirefoxDriver jest tak zadeklarowany:
IWebDriver driver = new FirefoxDriver();
Oba sterowniki wykonują identyczny kod:
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);
Test.png ChromeDrivera ma rozdzielczość 1920x1099 i zawiera tylko rzutnię przeglądarki.
Test.png FirefoxDriver ma rozdzielczość 1903x16559 i zawiera całą stronę.
wiem toGetScreenshot()
metoda nie zwraca identycznych rozmiarów rozdzielczości, ponieważ ma nieco inne implementacje w IEDriver, FirefoxDriver, OperaDriver, ChromeDriver.
Moje pytania to:
Dlaczego istnieje różnica między ChromeDriver a FirefoxDriver.GetScreenshot()
metoda, nawet jeśli używają identycznego interfejsu (ITakesScreenshot)?
Czy istnieje sposób na zrobienie ChromeDrivera?GetScreenshot()
metoda zwraca cały ekran strony zamiast tylko rzutni?