Node.js page.evaluate返回空文档
下面是phantomjs代码Node.js page.evaluate返回空文档,node.js,phantomjs,Node.js,Phantomjs,下面是phantomjs代码 page.open('https://onli**************uickpay.html', function (status) { if (status !== 'success') { console.log('Unable to access network') } else { console.log('internet is working'); var ua = page.eval
page.open('https://onli**************uickpay.html', function (status) {
if (status !== 'success') {
console.log('Unable to access network')
} else {
console.log('internet is working');
var ua = page.evaluate(function (loanID) {
var loanIDSplit = loanID.split('/');
document.getElementById("txtBranchCode").value = loanIDSplit[0];
document.getElementById("txtType").value = loanIDSplit[1];
document.getElementById("txtLoanNumber").value = loanIDSplit[2];
document.getElementById("btnLoanNoSearch").click();
}, loanID);
console.log(util.inspect(document, false, null));
setTimeout(function () {
var html = page.evaluate(function () {
var table = document.getElementById('tblQpLoanNo');
table.getElementsByClassName('odd')[0].click();
document.getElementById("LoNoPayButton").click();
return document;
});
page.render('/home/ubuntu/github.png');
console.log('is the value of document'+html);
}, 3000);
setTimeout( function (){
var release_amount = page.evaluate(function () {
var table = document.getElementById('tblQpPayment');
var row = table.getElementsByClassName('odd')[0];
var payableAmount = row.getElementsByTagName('td')[3].textContent;
return payableAmount;
});
console.log("release amount value is "+release_amount);
// system.stdout.write("$" + releaseAmount);
// system.stdout.write("$" + loanID);
phantom.exit();
}, 10000);
}
当上述代码运行时,记录的html值显示为null
它与macosx中的phantomjs完美配合,但当我将其部署到ubuntu服务器时,它就不起作用了。我确保我使用的是支持linux的phantomjs
第一页.evaluate工作正常,下一页在哪里.evaluate超时3秒后不工作,我在调试上浪费了足够的时间,最后在这里询问,如果有人有相同的问题或缺少一些信息,请询问我
文档为空的原因是什么,这意味着在评估html页面时出现了一些问题您无法从
页面返回文档
闭包、函数、DOM节点等将不起作用
如果要获取页面的整个html,请尝试page.content
variable:
console.log(page.content);