简短的回答是不,你不能(详细的原因)。但是,您可以做的就是充分利用设备的(显示器)viewport。
因此,使用ChromeOptions()
开始您的浏览器实例(驱动程序),这是设置ChromeDriver特定功能的方法。我们可以做到以下几点:
- 最大化窗口(使用
--start-maximized
开关);
- 全屏(
F11
-key在Windows上,Control+Cmd+F
在Mac上,使用--start-fullscreen
开关)。
- 注意:可以找到Chrome命令行开关的完整列表here。
您的代码应该是这样的:
// Setting your Chrome options (Desired capabilities)
ChromeOptions options = new ChromeOptions();
options.add_argument('--start-maximized');
options.add_argument('--start-fullscreen');
// Creating a driver instance with the previous capabilities
WebDriver driver = new ChromeDriver(options);
// Load page & take screenshot of full-screen page
driver.get("http://google.com");
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
现在关于整版的问题,所有的驱动程序(chromedriver
,geckodriver
,IEDriver
,EdgeDriver
等)正在实施WebDriver W3C标准。因此,它们取决于WebDriver团队想要公开不同功能的功能的方式,在我们的示例中为'Take Screenshot'。
如果你读了定义,它明确规定了以下内容:
的抓图命令采用顶级浏览器上下文的视口的屏幕截图。
传统的角度来看,一些司机能够生产全页面截图(阅读更多关于它here),像老FirefoxDriver,IEDriver等即不再像他们现在都实现的情况下(到信)WebDriver W3C标准。
我有一个答案,但我想确认是否适合您。那么你能否考虑详细说明你的意思是“完整的整个网页,而不仅仅是使用硒的顶部”?谢谢 – DebanjanB