Ввод javascript в zombie.js

Привет, мне было интересно, есть ли возможность в узлах js и zombie js вставлять javascript-файлы в безгласный браузер, аналогично тому, что вы можете делать с phantomjs.

Например, в phantom js вы бы сделали:

page.injectJs("amino/TVI.js") 

Я использовал 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()")); }); }); 

    Попытайтесь думать наоборот. У вас уже есть все в ваших armх в зомби, чтобы вводить все, что вы хотите.

    Например: that.browser.window указывает на окно jsdom, которое использует каждая часть вашего javascript вашего сайта в качестве базы. Таким образом, вы можете получить доступ к dom и всем другим объектам windows на уже загруженной странице.

    Я не знаю, что вы хотите архивировать с помощью инъекций – вы не должны использовать его для тестирования в будущем, но, похоже, это не ваша фактическая цель