2010-08-11 58 views
1

我用seleniumRC打開一個url,那該如何保存這個網頁?如何實現它像urllib.urlretrieve做到這一點?但urllib無法在頁面中操作JavaScript。還有一個問題:是否可以保存整個頁面,就像我看到seleniumRC打開它時那樣?如何用seleniumRC保存網頁

+0

你有沒有試過selenium.getHtmlSource()? – 2010-08-12 15:40:12

回答

1

這聽起來像你混淆了兩個非常不同的圖書館。

urllib

該模塊提供了通過萬維網獲取數據的高級接口。尤其是,urlopen()函數與內置函數open()類似,但接受通用資源定位器(URL)而不是文件名。

您可以使用python的urllib庫從有效的URL中檢索原始標記。該庫不會調用頁面上的任何嵌入式JavaScript,因爲該庫從不嘗試解析或呈現任何內容。

Selenium RC

硒的遠程控制(RC)是一個測試工具,它允許你使用任何支持JavaScript的主流瀏覽器的編寫,任何HTTP網站的任何編程語言的自動Web應用程序的UI測試。

Selenium RC用於自動化測試。通過javascript在Web瀏覽器中執行測試,但這是一個測試套件,您收到有關測試狀態的信息。 Selenium RC不提供任何功能來保存渲染頁面的圖像。


除非我誤解你的問題,你似乎在尋找一個圖書館,讓您檢索渲染HTML頁面(包括JavaScript DOM操作)的圖像。如果確實如此,我會建議調查PyWebShot,這似乎提供了完全的功能。您可以通過操作here查看它的屏幕截圖(以及其他一些相關信息)。

如果它不一定需要是一個Python庫,有許多的Web服務各地提供的截圖:

+0

謝謝您的建議。我不想截圖,而是整個網頁的html(其中包含一些javascript,所以有些文本不會顯示,除非您碰到它)來進一步解析它。 – Herta 2010-08-11 10:17:07