2

我正在尝试使用 phantom 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");但它不会输出它。我在这里做错了什么?

4

1 回答 1

4

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

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

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

page.onConsoleMessage = function(msg) {
    console.log("This message came from the webpage: "+ msg);
};
于 2012-11-26T00:40:42.800 回答