¿Cómo capturar el tráfico de red usando selenium webdriver y browsermob proxy en Python?

Me gustaría capturar el tráfico de red utilizando Selenium Webdriver en Python. Por lo tanto, debo usar un proxy (como BrowserMobProxy)

Cuando uso webdriver.Chrome:

from browsermobproxy import Server

server = Server("~/browsermob-proxy")

server.start()
proxy = server.create_proxy()

from selenium import webdriver
co = webdriver.ChromeOptions()
co.add_argument('--proxy-server={host}:{port}'.format(host='localhost', port=proxy.port))

driver = webdriver.Chrome(executable_path = "~/chromedriver", chrome_options=co)

proxy.new_har
driver.get(url)
proxy.har # returns a HAR 

for ent in proxy.har['log']['entries']:
    print ent['request']['url']

la página web se carga correctamente y todas las solicitudes están disponibles y accesibles en el archivo HAR. Pero cuando uso webdriver.Firefox:

# The same as above
# ...
from selenium import webdriver
profile  = webdriver.FirefoxProfile()
driver = webdriver.Firefox(firefox_profile=profile, proxy = proxy.selenium_proxy())

proxy.new_har
driver.get(url)
proxy.har # returns a HAR

for ent in proxy.har['log']['entries']:
    print ent['request']['url']

La página web no se puede cargar correctamente y el número de solicitudes en el archivo HAR es menor que el número de solicitudes que deberían ser.

¿Tienes alguna idea de cuál es el problema de la configuración del proxy en el segundo código? ¿Cómo debo solucionarlo para usar webdriver.Firefox correctamente para mi propósito?

Respuestas a la pregunta(2)

Su respuesta a la pregunta