javascript - macosx - phantom js driver
Usando PhantomJS con Selenium Webdriver y Python (1)
Actualmente estoy usando Selenium Webdriver para validar algunas páginas. Webdriver está siendo impulsado por PhantomJS. Sé que en PhantomJS, puedes escuchar la red usando el ejemplo como el siguiente: (de https://github.com/ariya/phantomjs/wiki/Network-Monitoring ).
var page = require(''webpage'').create();
page.onResourceRequested = function (request) {
console.log(''Request '' + JSON.stringify(request, undefined, 4));
};
page.onResourceReceived = function (response) {
console.log(''Receive '' + JSON.stringify(response, undefined, 4));
};
page.open(url);
¿Cómo puedo lograr esta funcionalidad dentro de Webdriver? ¿Puedo vincular una función a las Capacidades Deseadas?
¿Qué estás tratando de lograr aquí? Es posible inyectar javascript. Así que con eso podrías crear un objeto que escuche la página y lo registre en un objeto que captarás más tarde cuando hayas realizado algunas acciones.
Lo intentaré, pero no estoy seguro de qué es lo que hace fantasma.
browser.execute_script("
var requests= [];
var received = [];
var page = require(''webpage'').create();
page.onResourceRequested = function (request) {
requests.push(''Request '' + JSON.stringify(request, undefined, 4));
};
page.onResourceReceived = function (response) {
received.push(''Receive '' + JSON.stringify(response, undefined, 4));
};
page.open(url);");
Más tarde (si todavía está en la misma página) para obtener las solicitudes:
browser.execute_script("function(){return requests }()");
y las conexiones recibidas:
browser.execute_script("function(){return received}");