2016-09-26 3 views
3

Когда я вызываю веб-браузер firefox с помощью python firefox webdriver, firefox открывается пустой страницей (ничего в навигационной панели), подождите и не закройте.Пустой веб-браузер Firefox с селеном

Питон пультовой дать мне эту ошибку:

Traceback (самый последний вызов последний): Файл "firefox_selenium2.py", строка 4, в водитель = webdriver.Firefox() Файл «/ USR/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/webdriver.py ", строка 80, в init self.binary, timeout) Файл" /usr/local/lib/python3.5 /dist-packages/selenium/webdriver/firefox/extension_connection.py ", строка 52, в init self.binary.launch_browser (self.profile, timeout = timeout) Файл «/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/firefox_binary.py», строка 68, в launch_browser self._wait_until_connectable (timeout = timeout) Файл «/ usr/local /lib/python3.5/dist-packages/selenium/webdriver/firefox/firefox_binary.py ", строка 108, в _wait_until_connectable % (self.profile.path)) selenium.common.exceptions.WebDriverException: Message: Can ' t загрузить профиль. Профиль Dir:/tmp/tmpngm7g76x Если вы указали log_file в конструкторе FirefoxBinary, проверьте его для деталей.

Мой код является Exemple из питона селеном read_the_doc: от импорта селеном WebDriver из selenium.webdriver.common.keys импорта ключей

driver = webdriver.Firefox() 
driver.get("http://www.python.org") 
assert "Python" in driver.title 
elem = driver.find_element_by_name("q") 
elem.clear() 
elem.send_keys("pycon") 
elem.send_keys(Keys.RETURN) 
assert "No results found." not in driver.page_source 
driver.close() 

Любая помощь будет оценена

PS: светлячок версия 49 селен версия 2.53.6 python 3.5

+0

Возможный дубликат [Selenium: исключение FirefoxProfile Не удается загрузить профиль] (http://stackoverflow.com/questions/6682009/selenium-firefoxprofile-exception-cant-load-the-profile) –

ответ

2

В соответствии с этим постом https://github.com/SeleniumHQ/selenium/issues/2739#issuecomment-249479530 Это то, что вам нужно использовать что-то, называемое Драйвер Gecko, найдено здесь https://github.com/mozilla/geckodriver. Другие люди добились успеха в предыдущей версии (до 48) Firefox. Я также испытываю эту проблему и на самом деле не понимаю, как сделать любое решение, и я делаю медленный прогресс.

Привет, Деннис. Сейчас я отправлю свое пошаговое решение, чтобы заставить его работать.

Шаг за шагом решения

Проблема заключается в том, что Селена и Firefox не поддерживают друг друга больше. Я действительно не понимаю, почему, но, надеюсь, кто-то может комментировать и объяснять более подробно, чем я. Есть два возможных решения. Один из них устанавливает что-то, называемое Geckodriver. Я установил это, но мне трудно было добавить его в PATH и, как правило, разочаровался.

Вместо этого Я проехал более простой маршрут. Сначала я удалил Firefox с помощью команды

sudo apt-get purge firefox 

Тогда я скачал Firefox 47.0.1 отсюда (я выбрал английскую американскую версию). Затем я переместил его из папки моих загрузок в свою домашнюю папку. Затем я извлек его с помощью этой команды.

tar xjf firefox-47.0.1.tar.bz2 

Ваш номер Firefox может отличаться от моего. Затем я записал в этот каталог

cd firefox  

, который привел меня в этот каталог. Тогда все, что осталось выполнить команду

sudo apt install firefox 

После чего версия Selenium я работал снова. К счастью, я вернулся к написанию кода, не настраивая вещи!

+0

вы загрузили и несжато Firefox, затем проигнорировал его и просто установил другую версию через диспетчер пакетов. –

+0

btw, geckodriver теперь является обязательным для использования селена с последними версиями firefox. –

+0

Спасибо вам за отличное объяснение! –

Смежные вопросы