PhantomJS和jquery屏幕抓取 - 没有输出

时间:2012-09-05 06:55:31

标签: phantomjs

我正在尝试使用幻像js进行屏幕抓取。

我已从此网站复制了一些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”。

这是我的输出:

nwo@aws-chaos-us-w-1:~/sandbox$ phantomjs  usingjqueryandphantom.js
hello
success
============================================
Step "0"
============================================

它永远不会超过第0步。看看我的代码,我做了一个console.log("h1");,但它不会输出它。我在这里做错了什么?

1 个答案:

答案 0 :(得分:4)

Phantomjs要求您挂钩来自其页面上下文的控制台输出。来自API reference

  

当有JavaScript控制台消息时,将调用此回调   网页。回调最多可以接受三个参数:   消息的字符串,行号和源标识符。

     

默认情况下,不显示来自网页的控制台消息。   使用此回调是重定向它的典型方法。

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