2012-10-12 21 views
4

我目前正在基於watin構建一個小應用程序,登錄到一個網站,然後開始瀏覽一系列URL以使用Watin下載PDF文件。C# - 比watin更好的方式使用Javascript從域中抓取PDF文件

該網站使用了大量的JavaScript來加載嵌入式HTML中的PDF。

程序工作正常,但現在是很慢的,因爲華廷不能非常有效地處理下載(它使用Firefox的下載系統,並保存前慢慢鍵入文件名。

我想知道是否有一個更好的框架爲網頁報廢,可以提供相同的支持阿賈克斯網站,但更好/更快的方式下載文件。

我一直在網絡上發現硒,但它並沒有表現出更有效watin關於文件下載。

在此先感謝您爲他LP。

+3

您可能會更好地瞭解源HTML頁面中PDF文件鏈接的位置/方式。可能你可能會更好使用HtmlAgilityPack,並以這種方式刮頁(儘管你必須放棄JavaScript)。如果您讓我們知道您正在試圖抓取的網站,可能會更容易。 –

+0

您是否嘗試過[Selenum的Chrome驅動程序](http://code.google.com/p/selenium/wiki/ChromeDriver)?根據我的經驗,它比watin快。 – lstern

回答

0

你可以使用這兩個API爲主要引擎寫一個谷歌Chrome擴展:

https://developer.chrome.com/extensions/webRequest.html 知道何時以及如何進行身份驗證以及何時開始下載:

https://developer.chrome.com/extensions/downloads.html 開始下載的文件。

無論從這兩個API中爲了達到目標而丟失什麼,您都可以使用自定義內容腳本進行補償 - 這是一個注入到由擴展打開的頁面中的JavaScript,例如掛鉤到jquery中。準備好的事件來初始化抓取。

這些肯定會比Watin更快,因爲寫入watin是一個抽象層,而不是直接與瀏覽器交談。

相關問題