2012-09-05 42 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); 
};