我正在尝试将Phantom(npm install phantom)与Node一起使用,似乎所有的javascript都没有在Page.open返回promise fullfilled之前执行。有没有办法确保所有的JavaScript都被执行。
var args = []; // ["--platform windows:dpiawareness=0"];
phantom.create(args).then((ph) => {
VAR.ph = ph;
return ph.createPage();
}).then((page) => {
VAR.page = page;
return page.setting( "resourceTimeout", STATIC.phantomResourceTimeout );
}).then(() => {
return VAR.page.open(url);
因此,当promise从page.open返回时,它有时会返回整页,有时会返回部分执行脚本的页面。
VAR.page.property('content');
当从中检索内容时,它不是整页?
答案 0 :(得分:-1)
尝试使用以下内容:
page.onLoadFinished = function(status){
// do whatever you want
};
我确定错误正在发生,因为您的网页尚未完成加载。使用此代码在页面加载事件之后运行您的函数以避免错误。
问候。