int*_*ion 6 html javascript phantomjs
我正在开发一个工具,需要从第三方服务器下载网页,以浏览器的形式执行,然后解析HTML.我所挣扎的是该工具需要在执行所有javascript并修改DOM之后解析HTML.我正在尝试使用PhantomJS用于此目的,它适用于小代码片段(只是一个带有外部javascript的小html文档,可以为DOM添加一些节点)但是当我对真实网站做同样的事情时(http:// www .dba.dk /)在js代码完成所有修改后,我没有得到最终的HTML.
我真的需要帮助,因为我已经坚持了一个多星期.
我的PhantomJS代码很简单:
if (phantom.state.length === 0) {
if (phantom.args.length === 0) {
console.log('Usage: test.js <some URL>');
phantom.exit();
} else {
var address = phantom.args[0];
phantom.state = Date.now().toString();
phantom.viewportSize = { width: 1280, height: 800 };
phantom.open(address);
}
} else {
var elapsed = Date.now() - new Date().setTime(phantom.state);
if (phantom.loadStatus === 'success') {
if (!first_time) {
var first_time = true;
if (!document.addEventListener) {
console.log('Not SUPPORTED!');
}
phantom.render('result.png');
var markup = document.documentElement.innerHTML;
console.log(markup);
phantom.exit();
}
} else {
console.log('FAIL to load the address');
phantom.exit();
}
}
Run Code Online (Sandbox Code Playgroud)
转储到控制台的HTML不包含动态生成的内容