Cha*_*bon 7 javascript node.js headless-browser zombie.js phantomjs
嗨,我想知道节点js和zombie js是否有能力将javascript文件注入无头浏览器,类似于你可以用phantomjs做什么.
例如,在幻影js中你会这样做:
page.injectJs("amino/TVI.js")
Run Code Online (Sandbox Code Playgroud)
我已经使用了phantomjs,它确实做了我想做的事情,但是由于使用幻像js所需的高内存,我正在测试其他选项.
您可以将脚本标记附加到文档对象中,因为它支持僵尸中的DOM API.
以下示例显示如何将jquery插入zombie主页:
var Browser = require("zombie");
var assert = require("assert");
// Load the page from localhost
browser = new Browser()
browser.visit("http://zombie.labnotes.org/", function () {
assert.ok(browser.success);
// append script tag
var injectedScript = browser.document.createElement("script");
injectedScript.setAttribute("type","text/javascript");
injectedScript.setAttribute("src", "http://code.jquery.com/jquery-1.11.0.min.js");
browser.body.appendChild(injectedScript);
browser.wait(function(window) {
// make sure the new script tag is inserted
return window.document.querySelectorAll("script").length == 4;
}, function() {
// jquery is ready
assert.equal(browser.evaluate("$.fn.jquery"), "1.11.0");
console.log(browser.evaluate("$('title').text()"));
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2988 次 |
| 最近记录: |