如何保存完整的网页

时间:2012-06-20 11:15:24

标签: java selenium webdriver

有没有办法使用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和图像文件都将丢失。

答案 1 :(得分:-1)

Savw webPage to a file 试试吧。但我没有检查过这个