以下是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.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
第一页。评价工作得很好,作为下一页。评估3秒后超时不起作用,我浪费了足够的时间进行调试,最后在这里询问,如果有人有同样的问题,或者有些信息是我想要问我。
文档为空的原因可能是什么,这意味着在评估html页面时存在一些问题
答案 0 :(得分:1)
根据docs
,您无法从document
返回page.evaluate
闭包,函数,DOM节点等不起作用!
如果您想获得该网页的整个HTML,请尝试a built-in page.content
变量:
console.log(page.content);