2016-06-10 2 views
5

Я запускал некоторые скрипты, которые я разработал сегодня в Selenium-Python. Они отлично работали. Когда я закрыл окно, & отправился за повторным запуском теста, браузер Firefox, который был открыт, потерпит крах &, мой скрипт потерпит неудачу. Это буквально произошло на секунду. Я не был уверен, что изменилось, чтобы вызвать это.Selenium-Firefox: браузер Firefox падает при запуске моего сценария Selenium

Я бегу Selenium 2.53 & Firefox 47 на моей машине. Иногда, когда я пытаюсь запустить свой сценарий снова, я получу эту ошибку запуска в Pycharm:

Файл «C: \ Python34 \ lib \ site-packages \ selenium \ webdriver \ firefox \ firefox_binary.py", строка 98, в _wait_until_connectable raise WebDriverException («Браузер, кажется, вышел» selenium.common.exceptions.WebDriverException: Сообщение: браузер, кажется, вышел из него, прежде чем мы могли подключиться. Если вы указали log_file в конструкторе FirefoxBinary, .

Обычно я просто получаю сообщение об ошибке, когда я вручную закрыть разбившийся браузер FireFox, который открывается. Любые идеи относительно того, что произошло?

ответ

2

У меня также были проблемы с Firefox 47 и Selenium. Вы можете попробовать вернуться к предыдущей версии Firefox и отключить обновления.

Предыдущие версии Firefox и инструкции о том, как отключить автоматические обновления можно найти здесь: https://support.mozilla.org/en-US/kb/install-older-version-of-firefox

2

Я хотел бы немного исправить prev ответ. Работа пример ниже:

Предварительное:

  1. Скачать geckodriver.zip из https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver;
  2. Извлечь geckodriver.exe в каталог, где находится этот скрипт.
  3. Выполнить скрипт:

    # -*- 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() 
    
Смежные вопросы