gpt4 book ai didi

javascript - phantomjs 卡在 [DEBUG] 网页 - setupFrame ""

转载 作者:行者123 更新时间:2023-12-03 08:22:33 24 4
gpt4 key购买 nike

你能告诉我为什么下面的脚本不起作用吗? PhantomJS 卡在

[DEBUG] WebPage - setupFrame "".

// phantomjs --debug=true --ignore-ssl-errors=yes --ssl-protocol=any test.js < data.json

var page = require('webpage').create();
var system = require('system');
var input = JSON.parse(system.stdin.read(2000));

console.log(JSON.stringify(input));

//phantom.onConsoleMessage = function(msg){ console.log(msg); }

page.onResourceError = function(resourceError) {
page.reason = resourceError.errorString;
page.reason_url = resourceError.url;
};

page.open(input.address, function(status){

if (status !== 'success'){
console.log("url: "+page.reason_url+"reason: "+page.reason);
phantom.exit(1)
}

page.onLoadFinished = function(){
input.cookies = page.cookies;
console.log(JSON.stringify(input));
phantom.exit();
};

});

数据.json

{"cookies": [], "address": "https://google.com"}

最佳答案

由于页面加载后没有进一步的说明,因此它不会执行任何操作,只是坐在那里。

page.open的回调实际上和page.onLoadFinished是一样的。如果中间没有某种操作(站点重定向、点击、表单提交),则在调用后再次设置它不会再次运行它。

尝试:

page.open(input.address, function(status){ 
if (status !== 'success'){
console.log("url: "+page.reason_url+"reason: "+page.reason);
phantom.exit(1)
}

input.cookies = page.cookies;
console.log(JSON.stringify(input));
phantom.exit();
});

关于javascript - phantomjs 卡在 [DEBUG] 网页 - setupFrame "",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33683557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com