我正在尝试将一些数据从一个已处理的网页复制到我要导出的新网页中。背景是我需要抓取页面的一部分,并且需要用原始页面的一部分构建一个新页面。问题似乎是 phantomJs includeJs() 和 evaluate() 方法是沙盒的,我看不到将DOM 从一个页面导入另一个页面的正确方法。
我有一些看起来像这样的测试代码,页面是原始页面并且是新页面:
....
var title = page.evaluate(function() {
return title = document.getElementById('fooo').innerHTML;
});
console.log('page title:' + title);
//fs.write('c:/Temp/title.js', "var title = '" + title + "';", 'w');
var out = new WebPage;
out.viewportSize = page.viewportSize;
out.content = '<html><head></head><body><div id="wrapper"></div><p>done</p></body></html>';
out.includeJs('c:/Temp/title.js', function() {
var p = document.createElement('p');
p.appendChild(document.createTextNode(title));
document.getElementById('wrapper').appendChild(p);
});
...