问题
我正在尝试从需要登录的网站获取报告的pdf。所以我首先登录该网站,然后重定向到我想要访问的页面。我需要将onLoadFinished函数挂钩到page.render函数。这是我正在使用的代码:
page.open(BASE_URL + Report_URL).then(function(status) {
console.log(status);
try{
page.evaluate(function(){
setTimeout(function(){
document.getElementById("username").value = "admin";
document.getElementById("password").value = "admin";
document.getElementById("submit").click();
},100)
})
page.property('onLoadFinished', function(status,page) {
console.log('==== onLoadFinished()');
try{
console.log(' status: ' + status );
page.render("report.pdf")
}catch(ex){
var fullMessage = "\nJAVASCRIPT EXCEPTION";
console.log(fullMessage);
}
},page);
}catch(ex){
var fullMessage = "\nJAVASCRIPT EXCEPTION";
console.log(fullMessage);
}
});
,但 没有任何事情发生,甚至没有例外。 怎么能实现这一目标?我想将onloadFinished函数链接到另一个函数,该函数可以将页面呈现为pdf ...请帮助!!
node -v
):v6.2.2 答案 0 :(得分:0)
我使用 this.render 代替page.render解决了这个问题。
详细信息: - https://github.com/amir20/phantomjs-node/issues/675#issuecomment-312733078