2016-06-10 17 views
5

Stavo eseguendo alcuni script che avevo sviluppato in Selenium-Python oggi. Stavano funzionando bene. Quando ho chiuso una finestra & è andato a ripetere un test, il browser Firefox che si è aperto si sarebbe schiantato nello & il mio script sarebbe fallito. Questo è successo letteralmente un secondo al successivo. Non ero sicuro di cosa fosse cambiato per causare questo.Selenium-Firefox: il browser Firefox si blocca durante l'esecuzione del mio script Selenium

Sto eseguendo Selenium 2.53 & Firefox 47 sulla mia macchina. Occasionalmente quando provo a eseguire nuovamente lo script, ricevo questo errore di esecuzione in Pycharm:

File "C: \ Python34 \ lib \ site-packages \ selenium \ webdriver \ firefox \ firefox_binary.py", riga 98, in _wait_until_connectable aumentare WebDriverException ("Il browser sembra essere uscito" selenium.common.exceptions.WebDriverException: Messaggio: Sembra che il browser sia uscito prima che potessimo connettersi. Se hai specificato un file di log nel costruttore FirefoxBinary, controllalo per i dettagli .

Normalmente ottengo solo un errore quando chiudo manualmente il browser Firefox in crash che si apre. Tutte le idee su ciò che si è verificato?

risposta

2

Vorrei correggere leggermente prev risposta esempio di lavoro è al di sotto:

preliminare:

  1. Scarica geckodriver.zip da https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver;
  2. Estrarre geckodriver.exe nella directory in cui si trova questo script.
  3. Esegui script:

    # -*- coding: utf-8 -*- 
    
    import os 
    from selenium import webdriver 
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities 
    
    firefox_capabilities = DesiredCapabilities.FIREFOX 
    firefox_capabilities['marionette'] = True 
    gecko = os.path.normpath(os.path.join(os.path.dirname(__file__), 'geckodriver')) 
    browser = webdriver.Firefox(capabilities=firefox_capabilities, executable_path=gecko+'.exe') 
    
    browser.get('http:///www.google.com') 
    browser.close() 
    # browser.quit() 
    
Problemi correlati