2014-06-17 53 views
1

我正在嘗試使用Java中的Selenium完整頁面(沒有任何滾動條)截圖。我的代碼在Firefox 29中運行得很完美。我在Chrome 35中測試了相同的代碼,它採用了部分屏幕截圖(不是整頁,帶滾動條的屏幕),而且IE8不支持Selenium Drive的屏幕截圖。使用Selenium JVM的IE和Chrome的全屏幕截圖

File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); 
FileUtils.copyFile(scrFile, new File("C://screenshot//" + image1.jpg)); 

回答

0

我在任何瀏覽器的屏幕截圖中都看不到任何問題。對我來說,它需要完整的頁面視圖。

您可以嘗試使用下面的方法來使用通常用於執行RemoteWebDriver的augmenter()。

WebDriver augmentedDriver = new Augmenter().augment(driver); 

File f = null; 

if (augmentedDriver instanceof TakesScreenshot) { 
    f = ((TakesScreenshot) augmentedDriver).getScreenshotAs(OutputType.FILE); 
} else { 
    // screenshot not taken 
} 
+0

感謝您的快速回復。當我使用增強器()時,整個屏幕截圖功能不起作用,並且在控制檯中沒有錯誤。 – SamK

+0

我發現類似的帖子,指出新chromedriver(版本29)中有一個錯誤。 [鏈接](http://stackoverflow.com/questions/17885169/selenium-chrome-driver-makes-screenshot-just-of-visible-part-of-page)。 – SamK

+0

該錯誤仍然存​​在 – Purus