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 hacer algo como ...Exposición de variables de la llamada PhantomJS a la inyección JS
if(page.injectJs('jquery.min.js')) {
page.evaluate(function(){
//Use jQuery or $
}
}
Cuando intento de inyectar mi propia escritura (s), ninguna de las funciones están disponibles para mí. Decir que tengo un script llamado MyScript.js que sólo tiene
function doSomething() {
// doing something...
}
No puedo entonces utilizar doSomething 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() {};
y sin suerte, así como tratando de llamarlos con window.doSomething() o document.doSomething() en la página siguiente.evaluate().
Gracias, esto me ayudó mucho! –