2012-06-20 79 views
3

有什麼方法可以使用WebDriver保存完整的網頁?如何保存完整的網頁

目前我做getPageSource(),然後把一切都變成HTML本地文件,但保存的網頁是不好的形狀(奇怪的字符,無圖像,所有的元素向下偏移)

請參見下面的代碼,我使用:

@Test 
    public void testSomeThing(){ 
    FirefoxDriver driver = new FirefoxDriver(); 
    driver.get("http://google.com"); 
    String pageSource = driver.getPageSource(); 
    writeInFile(System.getProperty("user.dir")+"/target/logs/testPage.html", pageSource); 
    } 

    public static void writeInFile(String sFileName, String sTextToWrite){ 
     FileWriter outFile; 
     General.sendComments("Write to file: " + sFileName); 
     try { 
       outFile = new FileWriter(sFileName); 
       PrintWriter out = new PrintWriter(outFile); 
       out.print(sTextToWrite); 
       out.close(); 
     } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
     } 
    } 

有人可以請我建議我可以使用WebDriver在firefox中保存完整的網頁的方式嗎?例如自動?

+2

你想達到什麼目的?屏幕截圖不會起作用嗎? –

+0

在測試案例失敗我想保存完整的頁面,以調查失敗的原因。頁面屏幕快照無法解決我的問題。 –

回答

2

奇怪的字符可能與寫入的文件的編碼有關。

其他問題可能與您加載靜態html文件的事實有關,該文件的相對url不再指向任何內容。任何JavaScript,CSS和圖像文件都將丟失。

+0

好吧,但也許有人知道一些Java庫允許這樣做? –

-1

Savw webPage to a file 試試吧。但我沒有檢查這個

+0

由於某些原因,該應用程序根本無法工作:) –