我想手动设置“页面”的内容。我不想从网址加载它。我设置的html包含一个创建链接的脚本文件。现在我想执行这个脚本,并获得动态生成的链接。
如果我从网址加载页面,则没问题。但是如果我想手动设置内容,我认为脚本文件没有被执行!
var page = require('webpage').create();
var system = require('system');
// Build page
var content = '<script type="text/javascript" src="script-which-creates-links.js"></script>';
page.content = content;
// Evaluate and get links
var links = page.evaluate(function() {
var currentDocument = document;
......
return currentDocument.documentElement.innerHTML;
});
system.stderr.write(links);
phantom.exit();
输出为:
<script type="text/javascript" src="script-which-creates-links.js"></script>
但我希望我得到类似的东西:
<script type="text/javascript" src="script-which-creates-links.js"></script>
<!-- Dynamically generated: -->
<a href="#">Link1</a>
如何告诉phantomJS执行脚本文件?
修改 如果我将var内容行更改为:
var content = '<script type="text/javascript">document.write("HALLO");</script>';
脚本已成功执行。