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