簡短的回答是不,你不能(詳細的原因)。但是,您可以做的就是充分利用設備的(顯示器)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