Предоставление переменных из вызова PhantomJS для injectJS
Я следовал примерам внедрения jQuery со страницы начала работы, и это прекрасно работает. У меня есть локальная копия JQuery в том же каталоге, и сделать что-то вроде ...
<code>if(page.injectJs('jquery.min.js')) { page.evaluate(function(){ //Use jQuery or $ } } </code>
Когда я пытаюсь внедрить свои собственные сценарии, ни одна из функций не доступна для меня. Скажем, у меня есть скрипт с именем myScript.js, который просто
<code>function doSomething() { // doing something... } </code>
Я не могу тогда использовать что-то вроде ...
<code>if(page.injectJs('myScript.js')) { console.log('myScript injected... I think'); page.evaluate(function() { doSomething(); }); } else { console.log('Failed to inject myScript'); } </code>
Я пытался
<code>window.doSomething = function() {}; </code>
а также
<code>document.doSomething = function() {}; </code>
а также без удачи, а также пытаясь вызвать их с помощью window.doSomething () или document.doSomething () в последующей page.evaluate ().