2012-08-03 46 views
2

我正在尋找一種智能的方式來確定自從我上次使用HTMLUnit針對它進行檢查後,網站是否發生了變化。如何使用HTMLUnit確定頁面更改?

我正在使用HTMLUnit來抓取時不時失敗的網頁的某些值,因爲頁面的佈局已更改。 在這些情況下,我想要通知自上次訪問後頁面看起來有所不同。

我想通過簡單地將它寫入文件來保持通過HTMLUnit獲得的頁面對象。 下一次我運行我的程序時,我可以比較新的對象和持久的對象。

對此的評論?有沒有更聰明的方法來解決這個問題?

回答

0

由於似乎沒有更聰明的方法來解決這個問題,所以我按照我在問題中提出的建議做了。 獲取頁面,持久化源代碼,並在下一次運行程序時比較這個持久化的html源代碼和新源代碼。

不足之處在於,它不適用於某些網頁,如google.com,因爲它們似乎是動態創建頁面的。大多數其他網站的工作。

0

如果您只需與新佈局進行交互,而不管其是否已更改,請嘗試執行page.refresh()或再次呼叫getPage(),然後再執行任何後續呼叫。否則......好吧,我只是看着HtmlPage API,你需要的功能似乎並沒有內置到它現在。

+0

那麼,不直接回答我的問題。 我每天訪問一次頁面,所以頁面刷新不能幫助我。 – hennr 2012-08-14 07:20:49

+0

嗯。您的問題很難回答,因爲我們不知道HTML的哪些部分會不斷變化。你確定在發生的變化中沒有一致的模式嗎?因爲如果有的話,你的程序的行爲可能取決於某些條件。另外,一旦你發現頁面已經改變,你想要做什麼?繼續使用新元素進行拼貼,或只發送一封電子郵件,說明HTML已更改? – 2012-08-14 09:37:39

相關問題