2010-09-14 6 views

Respuesta

5

he cambiado el start en selenium.py:

def start(self, captureNetworkTraffic=False): 
    l = [self.browserStartCommand, self.browserURL, self.extensionJs] 
    if captureNetworkTraffic: 
     l.append("captureNetworkTraffic=true") 
    result = self.get_string("getNewBrowserSession", l) 

El que hace:

sel = selenium.selenium('localhost', 4444, '*firefox', 'http://www.google.com') 
sel.start(True) 
sel.open('') 
print sel.captureNetworkTraffic('json') 

y funciona como un encanto

+1

¿Qué es la parte '* firefox'? – maudulus

+0

Pero obtengo el error 'NameError: nombre global 'captureNetworkTraffic' no está definido' – SIslam

+0

¿Este código es solo para selenio 2.7.0? – SIslam

1

Inicie el navegador en "modo de inyección proxy" (nota *pifirefox en lugar de *firefox). Luego puede llamar al método captureNetworkTraffic.

import selenium 
import time 

sel=selenium.selenium("localhost",4444,"*pifirefox","http://www.google.com/webhp") 
sel.start() 
time.sleep(1) 
print(sel.captureNetworkTraffic('json')) 

que aprendieron el "truco" here*pifirefox.

+0

Pero funciona este método sin iniciar el conductor con "captureNetworkTraffic = verdad? Es decir, a diferencia de Java, etc. este método o función en Python estará "siempre activo". – David

+0

@David: en lugar de 'captureNetworkTraffic = true', encontré que necesitaba iniciar el navegador en modo de inyección de proxy. (ver arriba) – unutbu

+0

¿Este código es solo para selenio 2.7.0? – SIslam