我想手动设置我的“页面”的内容。我不想从 url 加载它。我设置的 html 包含一个创建链接的脚本文件。现在我想执行这个脚本,并获取动态生成的链接。
如果我从 url 加载页面,那没问题。但是,如果我想手动设置内容,我认为不会执行脚本文件!
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>';
脚本成功执行。