当我使用ChromeDriver截取屏幕截图时,我会获得具有视口大小的屏幕.
当我使用FirefoxDriver截取屏幕截图时,我得到了我想要的内容,这是一个网站的全屏幕打印.
ChromeDriver声明如下:
IWebDriver driver = new ChromeDriver();
Run Code Online (Sandbox Code Playgroud)
FirefoxDriver声明如下:
IWebDriver driver = new FirefoxDriver();
Run Code Online (Sandbox Code Playgroud)
两个驱动程序执行相同的代
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);
Run Code Online (Sandbox Code Playgroud)
ChromeDriver的test.png分辨率为1920x1099,仅包含浏览器视口.
FirefoxDriver的test.png分辨率为1903x16559,包含整个页面.
我知道该GetScreenshot()方法不会返回相同的分辨率大小,因为它在IEDriver,FirefoxDriver,OperaDriver,ChromeDriver中的实现略有不同.
我的问题是:
为什么ChromeDriver和FirefoxDriver的.GetScreenshot()方法之间存在这样的差异,即使他们使用相同的界面(ITakesScreenshot)?
有没有办法让ChromeDriver的GetScreenshot()方法返回整个网页屏幕而不仅仅是视口?