0

我想手动设置我的“页面”的内容。我不想从 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>';

脚本成功执行。

4

0 回答 0