chrome -driver 83 совместимость с Ubuntu - PullRequest
1 голос
/ 27 мая 2020

Я запускаю Ubuntu 18.04.1 LTS и долгое время успешно использовал стабильные версии Google Chrome v81 и совместимый chrome -driver v81. После переустановки google-chrome-stable до 83.0.4103.61 и обновления chrome -драйвера до 83.0.4103.39. По официальной странице они полностью совместимы. Но после этих обновлений я получаю сообщение об ошибке unable to connect to renderer.

Мои возможности остаются прежними:

  capabilities: {
    browserName: 'chrome',
    chromeOptions: {
      args: [
        '--headless',
        '--disable-gpu',
        '--no-sandbox',
        '--remote-debugging-port=9222',
        '--ignore-certificate-errors',
        '--allow-insecure-localhost'
      ]
    }
  }

И полное сообщение об ошибке следующее:

[11:07:05] E/launcher - session not created
from disconnected: unable to connect to renderer
  (Session info: headless chrome=83.0.4103.61)
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: '******', ip: '******', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-38-generic', java.version: '10.0.2'
Driver info: driver.version: unknown
remote stacktrace: #0 0x5633488fb579 <unknown>

Мой статус webdriver-manager:

[11:24:59] I/status - selenium standalone version available: 3.141.59 [last]
[11:24:59] I/status - chromedriver version available: 83.0.4103.39 [last]
[11:24:59] I/status - geckodriver version available: v0.26.0 [last]
[11:24:59] I/status - android-sdk is not present
[11:24:59] I/status - appium is not present

Кто-нибудь сталкивался с такой же проблемой и знает, как ее решить или правильно выполнить откат до версии 81? Мы будем благодарны за любые предложения.

PS 1) та же самая конфигурация хорошо работает локально на последней MacOS 2) Мне не удалось запустить chromium-browser v81 с драйвером v81, возможно, откат был выполнен неправильно .

1 Ответ

1 голос
/ 03 июня 2020

Проблема решена. Проблема заключалась в том, что я использовал аргумент --remote-debugging-port=9222. Но однажды процесс google-chrome смертельно застрял и занял порт. Итак, когда хромированный драйвер запускает google-chrome, он не может получить доступ к занятому порту для целей отладки и просто завершает работу без ошибок. Поэтому хромодрайвер не может получить доступ к google-chrome и выдает ошибку unable to connect to renderer. Решение:

  • убить замороженные процессы, которые занимают порты
  • использовать порт отладки, когда он вам действительно нужен
  • использование прямого подключения к хромированному драйверу уменьшает "слои" поэтому общая стабильность была улучшена
...