Браузер Mozilla Firefox 68.2.0esr дает сбой при использовании GeckoDriver и Selenium - PullRequest
2 голосов
/ 20 февраля 2020

Я пытался запустить браузер Firefox через селен, но, к сожалению, браузер закрывается сразу после запуска. Не удалось интерпретировать из файла журнала.

Вот записи файла журнала:

1582121786461   mozrunner::runner       INFO    Running command: "/usr/bin/firefox" "-marionette" "-foreground" "-no-remote" "-profile" "/tmp/rust_mozprofile.d4XupquDfaWC"
1582121787117   addons.webextension.screenshots@mozilla.org     WARN    Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons
1582121787117   addons.webextension.screenshots@mozilla.org     WARN    Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: telemetry
1582121787118   addons.webextension.screenshots@mozilla.org     WARN    Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: resource://pdf.js/
1582121787118   addons.webextension.screenshots@mozilla.org     WARN    Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: about:reader*
JavaScript error: resource:///modules/sessionstore/SessionStore.jsm, line 1325: uncaught exception: 2147746065
1582121789421   Marionette      INFO    Listening on port 33105
1582121789488   Marionette      WARN    TLS certificate errors will be ignored for this session
19:46:29.537 INFO [ProtocolHandshake.createSession] - Detected dialect: W3C
19:46:29.559 INFO [RemoteSession$Factory.lambda$performHandshake$0] - Started new session 1420379c-5cc3-444a-8309-0492333a3c5f (org.openqa.selenium.firefox.GeckoDriverService)
1582121794637   Marionette      WARN    TimedPromise timed out after 5000 ms: stacktrace:
bail@chrome://marionette/content/sync.js:237:64
Fatal: no entropy gathering module detected
Redirecting call to abort() to mozalloc_abort


###!!! [Parent][MessageChannel] Error: (msgtype=0x1E008F,name=PBrowser::Msg_Destroy) Channel error: cannot send/recv

A content process crashed and MOZ_CRASHREPORTER_SHUTDOWN is set, shutting down
JavaScript error: resource:///modules/sessionstore/SessionFile.jsm, line 376: Error: _initWorker called too early! Please read the session file from disk first.
[Parent 423702, Gecko_IOThread] WARNING: pipe error (82): Connection reset by peer: file /home/abuild/rpmbuild/BUILD/firefox-68.2.0/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 358
1582121795636   Marionette      INFO    Stopped listening on port 33105

Вот версии браузера / библиотек:

  • Firefox версия: 68.2.0esr
  • Версия Geckodriver: 0.24
  • Версия Selenium: 3.141.59

Я пробовал использовать разные версии драйверов Gecko и Selenium , но ничего не получалось. Пожалуйста, дайте мне знать любое решение для этого.

1 Ответ

2 голосов
/ 20 февраля 2020

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

Fatal: no entropy gathering module detected 
Redirecting call to abort() to mozalloc_abort
.
A content process crashed and MOZ_CRASHREPORTER_SHUTDOWN is set, shutting down 
JavaScript error: resource:///modules/sessionstore/SessionFile.jsm, line 376: 
Error: _initWorker called too early! Please read the session file from disk first. 
[Parent 423702, Gecko_IOThread] WARNING: pipe error (82): Connection reset by peer: file /home/abuild/rpmbuild/BUILD/firefox-68.2.0/ipc/chromium/src/chrome/common/ipc_channel_posix.cc

... означает, что процесс содержимого потерпел крах при создании сеанса, и было pani * 1138 ядра .


Глубокое погружение

Немного больше информации о ваших испытаниях кода и журналах уровня Trace помогло бы нам проанализировать проблему в лучший способ. Однако ранее эта проблема наблюдалась с ядрами 4.9.x . Иногда эта проблема также наблюдалась с поврежденной urandom / random

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

  • Вы используете GeckoDriver v0.24.0 из 29 января 2019 , что на год старше.
  • Вы используете Firefox v68.2.0esr .
  • Ваша версия JDK нам неизвестна.

Согласно документации в Поддерживаемых платформах между двоичными файлами, по-видимому, имеется некоторое несоответствие, поскольку в разделе Firefoxen упоминается:

Поддержка лучше всего в Firefox 57 и выше, хотя как правило, чем более поздняя версия Firefox, тем лучше ее использование, поскольку в ней больше исправлений и функций. Некоторые функции будут доступны только в самых последних Firefox версиях, и мы настоятельно рекомендуем использовать последнюю Firefox Nightly с geckodriver. Поскольку поддержка Windows XP в Firefox была прекращена с Firefox 53, мы не поддерживаем эту платформу.

Примечание : Начиная с 0.26. 0 версия geckodriver может подключаться к Android устройствам и управлять пакетами, основанными на GeckoView (например, Firefox Preview aka Fenix ​​или Firefox Reality). Но он также по-прежнему поддерживает версии Fenne c до 68 ESR, , которая является последней официально поддерживаемой версией Mozilla .


Решение

Убедитесь, что:

  • JDK обновлен до текущих уровней JDK 8u341 .
  • Selenium обновлен до текущие уровни Версия 3.141.59 .
  • GeckoDriver обновлен до GeckoDriver v0.26.0 level.
  • Firefox обновлен до текущих Firefox v72.0 уровней.
  • GeckoDriver присутствует в нужном месте.
  • GeckoDriver имеет разрешение на выполнение для пользователи не root.
  • Если ваша базовая версия Web Client устарела, удалите ее через Revo Uninstaller и установите недавняя GA и выпущенная версия веб-клиента .
  • Возьмите Перезагрузка системы .
  • Выполните Test как не-1154 * пользователь.
  • Всегда вызывайте driver.quit() в методе tearDown(){} для закрытия и уничтожения WebDriver и Веб-клиента экземпляров изящно.

Outro

Согласно рекомендациям при работе с GeckoDriver , Selenium и Firefox Браузер следуйте приведенной ниже таблице совместимости:

Поддерживаемые платформы

supported_platforms_geckodriver_24

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...