2012-09-05 43 views
2

我正在嘗試使用幻像js來抓屏幕。PhantomJS和jquery屏幕抓取 - 無輸出

我抄從這個站點的一些phantomjs代碼:http://snippets.aktagon.com/snippets/534-How-to-scrape-web-pages-with-PhantomJS-and-jQuery

與劇本開始,我已經修改成這樣:http://jsfiddle.net/dqfTa/(見的JavaScript)

我的目標是從網站上收集的價格,這是「.price」標籤的內部html,轉換爲一個javascript數組。現在我正在試圖將console.log()它們添加到我的屏幕上。

我通過ubuntu 12.04控制檯運行phantomjs v1.6和jquery v1.8。我將用戶代理設置爲「iPhone」。

這裏是我的輸出:

[email protected]:~/sandbox$ phantomjs usingjqueryandphantom.js 
hello 
success 
============================================ 
Step "0" 
============================================ 

它永遠不會越過0步我的代碼看看,我做了console.log("h1");但不會輸出。我在這裏做錯了什麼?

+0

你試圖使用'--remote調試器端口= SOMEPORT'調試,然後要通過'http://本地主機:SOMEPORT'? – FilmJ

+0

您是否在要抓取的頁面上下文中運行JavaScript?它不會在頁面範圍之外做任何事情。 –

回答

4

Phantomjs要求您掛接來自其頁面上下文的控制檯輸出。從API reference

時,有上 網頁中的JavaScript控制檯消息,這個回調會被調用。該回調最多可接受三個參數:消息的 字符串,行號和源標識符。

默認情況下,不顯示來自網頁的控制檯消息。 使用此回調是重定向它的典型方法。

page.onConsoleMessage = function(msg) { 
    console.log("This message came from the webpage: "+ msg); 
};