Соединение отклонено и опрос для изменений не выполнен: NetworkError при попытке извлечь ошибку ресурса с помощью Selenium GeckoDriver и Firefox - PullRequest
1 голос
/ 04 июня 2019

Согласно названию, теперь Firefox открывается, кажется, ничего не делает, а затем исчезает!

  1. Я запускал это раньше с локальной виртуальной машины Ubuntu 16.04, и все было в порядке.

(Да, я обновил до последней версии селен и т. Д. Следующим образом: селен 3.141.0 осколок 0.10.0 шесть 1.12.0 urllib3 1.25.3) Теперь geckodriver.log показывает следующее:

1559646629845   geckodriver     INFO    Listening on 127.0.0.1:60172  
1559646630836   mozprofile::profile     INFO    Using profile path /tmp/rust_mozprofile.5DqFww40mZ6W  
1559646630851   geckodriver::marionette INFO    Starting browser /usr/bin/firefox  
1559646630857   geckodriver::marionette INFO    Connecting to Marionette on localhost:46681  
1559646631959   addons.webextension.screenshots@mozilla.org     WARN    Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons  
1559646631960   addons.webextension.screenshots@mozilla.org     WARN    Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: resource://pdf.js/  
1559646631960   addons.webextension.screenshots@mozilla.org     WARN    Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: about:reader*  
1559646637156   Marionette      INFO    Listening on port 2828  
console.error: BroadcastService:  
  receivedBroadcastMessage: handler for  
  remote-settings/monitor_changes  
  threw error:  
  Message: Error: Polling for changes failed: NetworkError when attempting to fetch resource..  
  Stack:  
    remoteSettingsFunction/remoteSettings.pollChanges@resource://services-settings/remote-settings.js:190:13  
JavaScript error: jar:file:///usr/lib/firefox/omni.ja!/components/nsUrlClassifierListManager.js, line 329: NS_ERROR_NOT_INITIALIZED: Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsIUrlClassifierDBService.getTables]  
JavaScript error: jar:file:///usr/lib/firefox/omni.ja!/components/nsUrlClassifierListManager.js, line 329: NS_ERROR_NOT_INITIALIZED: Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsIUrlClassifierDBService.getTables]  
1559646742440   Marionette      INFO    Stopped listening on port 2828ss  
  1. Я также пытался сделать это на удаленной виртуальной машине Ubuntu-16.04 (без графического интерфейса пользователя), консоль выдает то же сообщение «Отказано в соединении», но на этот раз geckodriver.log показывает другую проблему, как показано ниже: (селен 3.141.0 шесть 1.12.0 осколок 0.10.0 urllib3 1.25.3)

    1559563047915   geckodriver     INFO    geckodriver 0.18.0  
    1559563047918   geckodriver     INFO    Listening on 127.0.0.1:51758  
    1559563049045   geckodriver::marionette INFO    Starting browser  /usr/bin/firefox with args ["-marionette"]  
    MobaXterm X11 proxy: Unsupported authorisation protocol  
    Failed to connect to Mir: Failed to connect to server socket: No such file or directory  
    Unable to init server: Broadway display type not supported:   localhost:11.0  
    Error: cannot open display: localhost:11.0  
    1559644244502   geckodriver     INFO    geckodriver 0.18.0
    1559644244506   geckodriver     INFO    Listening on 127.0.0.1:53086
    1559644245634   geckodriver::marionette INFO    Starting browser /usr/bin/firefox with args ["-marionette"]
    MobaXterm X11 proxy: Unsupported authorisation protocol
    Failed to connect to Mir: Failed to connect to server socket: No such file or directory
    Unable to init server: Broadway display type not supported: localhost:10.0
    Error: cannot open display: localhost:10.0
    

мой тестовый код:

from splinter import Browser
browser = Browser()
browser.visit( 'https://www.google.com' )
browser.fill( 'q', 'splinter - python acceptance testing     for web application' )
browser.quit()

Я ценю, что есть похожие вопросы, связанные с проблемами типа "отказано в соединении" с селеном ... Я надеюсь найти решение, специфичное для python, которое мне кажется либо "проблемой сети", либо "проблемой отображения". ..

1 Ответ

0 голосов
/ 05 июня 2019

Это сообщение об ошибке ...

1559646629845   geckodriver     INFO    Listening on 127.0.0.1:60172  
1559646630836   mozprofile::profile     INFO    Using profile path /tmp/rust_mozprofile.5DqFww40mZ6W  
1559646630851   geckodriver::marionette INFO    Starting browser /usr/bin/firefox  
1559646630857   geckodriver::marionette INFO    Connecting to Marionette on localhost:46681  
1559646631959   addons.webextension.screenshots@mozilla.org     WARN    Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons  
1559646637156   Marionette      INFO    Listening on port 2828  
console.error: BroadcastService:  
  receivedBroadcastMessage: handler for  
  remote-settings/monitor_changes  
  threw error:  
  Message: Error: Polling for changes failed: NetworkError when attempting to fetch resource..  
  Stack:  
    remoteSettingsFunction/remoteSettings.pollChanges@resource://services-settings/remote-settings.js:190:13  
JavaScript error: jar:file:///usr/lib/firefox/omni.ja!/components/nsUrlClassifierListManager.js, line 329: NS_ERROR_NOT_INITIALIZED: Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsIUrlClassifierDBService.getTables]  
1559646742440   Marionette      INFO    Stopped listening on port 2828s

... подразумевает, что GeckoDriver не смог инициировать / создать новый сеанс веб-просмотра , т.е. браузер Firefox сеанс.

Ваша главная проблема - несовместимость между версиями двоичных файлов, которые вы используете, следующим образом:

  • Ваш GeckoDriver версия geckodriver v0.18.0 . (согласно первой строке второго набора журналов ... geckodriver INFO geckodriver 0.18.0 ... )
  • Ваш Клиент Selenium версия 3.141.0 .
  • Ваша Firefox версия нам неизвестна.

Таким образом, существует явное несоответствие между GeckoDriver v0.18.0 Selenium Client v3.141.0 .


Решение

  • Обновление Селен до текущих уровней Версия 3.141.59 .
  • Обновление GeckoDriver до последней GeckoDriver v0.24.0 уровень.
  • Убедитесь, что GeckoDriver присутствует в необходимом месте.
  • GeckoDriver имеет разрешение на выполнение для пользователей без полномочий root.
  • Обновление Firefox до текущих Firefox v65.0.2 уровней.
  • Очистите ваше Рабочее пространство проекта через IDE и Перестройте ваш проект только с необходимыми зависимостями.
  • Если ваша базовая версия Web Client устарела, удалите ее и установите последнюю версию GA и выпущенную версию Web Client .
  • Всегда вызывайте driver.quit() в методе tearDown(){} для закрытия и уничтожения экземпляров WebDriver и Web Client изящно.

Примечание : всегда поддерживать следующие параметры GeckoDriver , Selenium и Firefox Browser матрица совместимости

supported_platforms_geckodriver_24

Вы можете найти соответствующее подробное обсуждение в Какие версии браузера Firefox поддерживаются для данной версии Geckodriver?


Outro

...