Sto cercando di ottenere l'output di una pagina Web console.log
da Firefox tramite i collegamenti API Python Selenium. Sulla base della code for Chrome, e alcuni advice from the documentation, ho provato la seguente:Ottenere l'output console.log da Firefox con Selenium
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
d = DesiredCapabilities.FIREFOX
d['loggingPrefs'] = { 'browser':'ALL' }
fp = webdriver.FirefoxProfile()
fp.set_preference('webdriver.log.file', '/tmp/firefox_console')
driver = webdriver.Firefox(capabilities=d,firefox_profile=fp)
driver.set_window_size(1280,1024)
driver.get('http://foo.com')
try:
WebDriverWait(driver,10).until(lambda driver: driver.execute_script("return document.readyState") == "complete")
for entry in driver.get_log('browser'):
print entry
finally:
driver.quit()
Ma, anche per una semplice pagina di esempio che chiama console.log("foo")
, non vedo "foo"
sia nelle voci di registro restituito tramite l'API o in il file /tmp/firefox_console
. Sto facendo qualcosa di sbagliato? O si tratta di una limitazione del selenio?
Questa è per le persone che vengono ora per verificare le risposte. driver.get_log ('browser') non funziona per Firefox a partire da questa data. C'è un problema aperto https://github.com/SeleniumHQ/selenium/issues/1161 – Rajesh