es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo encontrar transferSize en un archivo har exportado usando browsermob-proxy en Python.

Estoy tratando de exportar un archivo .har utilizando firefox-selenium-browsermob-proxy-python utilizando el siguiente código:

bmp_loc = "/Usuarios/proyecto/browsermob-proxy-2.1.4/bin/browsermob-proxy"
servidor = Server(bmp_loc)
servidor.start()
proxy = server.create_proxy(params={'trustAllServers': 'true'})

selenium_proxy = proxy.selenium_proxy()
caps = webdriver.DesiredCapabilities.FIREFOX
caps['marionette'] = False
proxy_settings = {
    "proxyType": "MANUAL",
    "httpProxy": selenium_proxy.httpProxy,
    "sslProxy": selenium_proxy.sslProxy,
}
caps['proxy'] = proxy_settings

driver = webdriver.Firefox(desired_capabilities=caps)
proxy.new_har("generated_har",options={'captureHeaders': True})
driver.get("someurl")
browser_logs = proxy.har

Estoy interesado en obtener _transferSize en el archivo .har para realizar cierto análisis, pero no puedo obtenerlo, en su lugar estoy obteniendo ‘comentario’:

"redirectURL": "", "headersSize": 1023, "bodySize": 38, "comment": ""

Mientras que al descargar manualmente el archivo .har usando Firefox, estoy obteniendo _transferSize

Versión utilizada:

browsermob_proxy==2.1.4
selenium==4.0.0

¿Alguien puede ayudarme a resolver esto por favor?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás enfrentando un problema al intentar exportar _transferSize en el archivo .har utilizando firefox-selenium-browsermob-proxy-python. Actualmente lo estás obteniendo solamente como un comentario en la salida.

    Para resolver esto, es posible que necesites actualizar tu método proxy.new_har agregando options={ "captureHeaders": True, "captureContent": True }. Esto debería capturar todo el contenido de respuesta y encabezados, lo cual incluye también la información de _transferSize.

    Tu código actualizado se vería así:

    proxy.new_har("generated_har", options={ "captureHeaders": True, "captureContent": True })
    

    Una vez que hayas hecho este cambio, deberías poder obtener la información de _transferSize en el archivo .har generado a través de tu código.

    ¡Espero que esto te ayude a resolver tu problema!

Comments are closed.