Exponiendo variables de la llamada PhantomJS a injectJS
He seguido ejemplos para inyectar jQuery desde la página de inicio y eso funciona bien. Tengo una copia local de jQuery en el mismo directorio, y hago algo como ...
if(page.injectJs('jquery.min.js')) {
page.evaluate(function(){
//Use jQuery or $
}
}
Cuando intento inyectar mi (s) script (s), ninguna de las funciones está disponible para mí. Digamos que tengo un script llamado myScript.js que solo tiene
function doSomething() {
// doing something...
}
Entonces no puedo usar algo como ...
if(page.injectJs('myScript.js')) {
console.log('myScript injected... I think');
page.evaluate(function() {
doSomething();
});
} else {
console.log('Failed to inject myScript');
}
He intentado
window.doSomething = function() {};
y
document.doSomething = function() {};
sin tener suerte, así como intentar llamarlos con window.doSomething () o document.doSomething () en la página siguiente .evaluate ().