如何使用phantomjs?
问题描述:
我想学习phantomjs,但是我找不到好的教程。我有2个问题:如何使用phantomjs?
-
哪里是在下面的代码问题(需要捕捉按钮的标签,并写入文件):
var page = require('webpage').create(); var fs = require('fs'); page.onConsoleMessage = function(msg) { phantom.outputEncoding = "utf-8"; console.log(msg); }; page.open("http://vk.com", function(status) { if (status === "success") { page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() { page.evaluate(function() { var str = $("#quick_login_button").text(); f = fs.open("ololo.txt", "w"); f.writeLine(str); f.close(); console.log("done"); }); phantom.exit(); }); } });
你可以向我咨询在phantomjs什么教程? (不是来自官方网站)
答
由于执行是沙箱化,网页无法访问幻像对象。
var page = require('webpage').create();
var fs = require('fs');
page.onConsoleMessage = function(msg) {
phantom.outputEncoding = "utf-8";
console.log(msg);
};
page.open("http://vk.com", function(status) {
if (status === "success") {
page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() {
var str = page.evaluate(function() {
return $("#quick_login_button").text();
});
f = fs.open("ololo.txt", "w");
f.writeLine(str);
f.close();
console.log("done");
phantom.exit();
});
}
});
PhantomJS带有很多包含的例子。看看here。
phantomjs附带有很多有用的示例 - 我首先通过解决这些问题 – 2013-03-07 16:05:26