如何用phantomjs去抓取js渲染后的页面
1个回答
展开全部
+ $(".explanation").text());
});
phantom.exit(0);
});
} else{
phantom.exit(1);
}
});
3.执行状态为一直卡在那里,不报错也不退出
为了查看程序的内部执行状态,加入运行日志
1
2
3
4
5
6
7
page.onResourceRequested = function(req) {
console.log('requested: '+ JSON.stringify(req, undefined, 4));
};
page.onResourceReceived = function(res) {
console.log('received: '+ JSON.stringify(res, undefined, 4));
};
4.发现程序一直卡在一个js的请求
1
5.在自己的服务器上用python的SimpleHTTPServer 简单搭了一个http的server先FQ把这个js下载下来,放到web上
6.修改代码把includeJS指向自己搭的http server上
1
<br><br><br><br><br>
备注:
调试过程发现phantomjs还有一个问题,就是page.open是异步执行的,如下代码:
1
2
3
4
5
6
7
8
9
varwebPage = require('webpage');
varpage = webPage.create();
page.open('http://www.baidu.com/', function(status)
});
phantom.exit(0);
});
} else{
phantom.exit(1);
}
});
3.执行状态为一直卡在那里,不报错也不退出
为了查看程序的内部执行状态,加入运行日志
1
2
3
4
5
6
7
page.onResourceRequested = function(req) {
console.log('requested: '+ JSON.stringify(req, undefined, 4));
};
page.onResourceReceived = function(res) {
console.log('received: '+ JSON.stringify(res, undefined, 4));
};
4.发现程序一直卡在一个js的请求
1
5.在自己的服务器上用python的SimpleHTTPServer 简单搭了一个http的server先FQ把这个js下载下来,放到web上
6.修改代码把includeJS指向自己搭的http server上
1
<br><br><br><br><br>
备注:
调试过程发现phantomjs还有一个问题,就是page.open是异步执行的,如下代码:
1
2
3
4
5
6
7
8
9
varwebPage = require('webpage');
varpage = webPage.create();
page.open('http://www.baidu.com/', function(status)
追答
{
console.log('Status: '+ status);
// Do other things here...
});
phantom.exit(1)
你执行完后,打印返回值,echo $?,会得到1
而你把
1
phantom.exit(1)
注释之后,会得到status值。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询