Phantom JavaScript上的操作取消错误

时间:2019-05-29 14:25:23

标签: javascript phantomjs

我正在尝试使用带有url的phantomJs加载网页,但是响应的状态代码是500。我检查了发送的数据包,除了少数返回“ NULL”的消息包和其他所有数据包,它们都收到了OK(200)状态该网页总共有500个状态。

代码中的第一个参数是我输入的URL。 scriptFn是我打算在PhantomJs返回的响应上运行的脚本。

     page.open(system.args[1], function (status) {
if (status == "success") {
    if (scriptFn && scriptFn.indexOf("//DO NOT INCLUDE JQUERY") == -1) {
        page.injectJs("jquery.min.js");
    }

    setTimeout(function(){
        var res = page.evaluate(function (resources, scriptFn, getURLParamValue) {
            var statusCode;
            var regex = /^[23]/;
            if (regex.test(resources[0].status)) {
                statusCode = 200;
            } else {
                statusCode = resources[0].status;
            }
            if (scriptFn) {
                eval(scriptFn);
            }
            return '@@response_start@@\n' + statusCode + '\n' + document.location.href + '\n' + document.documentElement.outerHTML;
        }, resources, scriptFn, utils.getURLParamValue);
        console.log(res);
        phantom.exit();
    }, 5000);
} else {
    var res = page.evaluate(function(status) {
        return '@@response_start@@\n500\n' + document.location.href + '\n' + document.documentElement.outerHTML;
    });
    console.log(res);
    phantom.exit();
}
});

0 个答案:

没有答案