|
|
"use strict";
|
|
|
var system = require('system');
|
|
|
if (system.args.length === 1) {
|
|
|
phantom.exit();
|
|
|
}
|
|
|
var page = require("webpage").create(),
|
|
|
url = system.args[1];
|
|
|
page.settings.resourceTimeout = system.args[2];
|
|
|
if(system.args[3] != 'default')
|
|
|
{
|
|
|
page.settings.userAgent = system.args[3];
|
|
|
}
|
|
|
if(system.args[4] != 'default')
|
|
|
{
|
|
|
document.cookie = system.args[4];
|
|
|
}
|
|
|
if(system.args[5] != 'default')
|
|
|
{
|
|
|
var xres = system.args[5].split(":");
|
|
|
if(xres[1] != undefined)
|
|
|
{
|
|
|
page.settings.userName = xres[0];
|
|
|
page.settings.password = xres[1];
|
|
|
}
|
|
|
}
|
|
|
var sleeptime = 0;
|
|
|
if(system.args[6] != '0')
|
|
|
{
|
|
|
sleeptime = parseInt(system.args[6]);
|
|
|
if(sleeptime === NaN)
|
|
|
{
|
|
|
sleeptime = 0;
|
|
|
}
|
|
|
}
|
|
|
page.onResourceTimeout = function(e) {
|
|
|
console.log('timeout');
|
|
|
phantom.exit(1);
|
|
|
};
|
|
|
function onPageReady() {
|
|
|
var htmlContent = page.evaluate(function () {
|
|
|
return document.documentElement.outerHTML;
|
|
|
});
|
|
|
console.log(htmlContent);
|
|
|
phantom.exit();
|
|
|
}
|
|
|
|
|
|
page.onError = function(msg, trace) {
|
|
|
var msgStack = ['ERROR: ' + msg];
|
|
|
if (trace && trace.length) {
|
|
|
msgStack.push('TRACE:');
|
|
|
trace.forEach(function(t) {
|
|
|
msgStack.push(' -> ' + t.file + ': ' + t.line + (t.function ? ' (in function "' + t.function + '")' : ''));
|
|
|
});
|
|
|
}
|
|
|
|
|
|
|
|
|
};
|
|
|
page.open(encodeURI(url), function (status) {
|
|
|
function checkReadyState() {
|
|
|
setTimeout(function () {
|
|
|
var readyState = page.evaluate(function () {
|
|
|
return document.readyState;
|
|
|
});
|
|
|
|
|
|
if ("complete" === readyState) {
|
|
|
if(sleeptime != 0)
|
|
|
{
|
|
|
setTimeout(onPageReady, sleeptime);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
onPageReady();
|
|
|
}
|
|
|
} else {
|
|
|
checkReadyState();
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
checkReadyState();
|
|
|
}); |