我目前正在使用不同的刮擦技術,並發現,它可以很快就會變得很複雜,當涉及大量的JavaScript。 我在HTMLUnit方面取得了一些成功,它似乎很好地解釋了JavaScript,但我正在尋找更輕量級的解決方案。如何從JSF網站上抓取Ajax生成的內容?
所以,我現在面臨的問題是:我想檢索一個特定頁面的結果,這是由某個按鈕點擊ajax調用生成的。 這個調用本身很簡單,只是一個HTTP Post到一個特定的URL,在郵件正文中提交了一些參數。我現在的問題是服務器抱怨,當我提交HTTP POST到ajax函數而沒有真正打開包含網站。
我基本上爲測試做的是:
curl -v -d "AJAXREQUEST=..." https://myhost/ajaxurl
的是我得到的是:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="Ajax-Response" content="true" />
<meta name="Ajax-Expired" content="View state could't be restored - reload page ?" />
</head>
</html>
服務器運行的是JSF 1.2。我需要做些什麼才能從AJAX調用中獲得結果?我不是JSF的專家......
據我所知你需要一個瀏覽器來使用Selenium,對吧?我想要更輕量級的東西(例如,可以完全用java或javascript實現的東西),而不需要額外的軟件/進程。 – Julian 2012-01-31 16:49:34
捲曲的方式是:'curl -c cookies myajaxurl',然後是'curl -b cookies -d「AJAXREQUEST = ...」myajaxurl' – Julian 2012-03-02 19:55:56