Но Google Chrome выдает мне следующее предупреждение в консоли:
[Устаревание] Запросы к вспомогательным ресурсам, URL-адреса которых содержат встроенные учетные данные (например, https://user:pass@host/), заблокированы. Смотрите https://www.chromestatus.com/feature/5669008342777856 для получения более подробной информации.
В помеченной ссылке упоминается, что поддержка была прекращена:
Отменена поддержка встроенных учетных данных в запросах дополнительных ресурсов. (удалено)
Теперь мой вопрос в том, есть ли другой способ базовой аутентификации из Selenium?
Chromium Issue 435547 Отменена поддержка встроенных учетных данных в запросах дополнительных ресурсов. (удалено)
Мы должны блокировать запросы к вспомогательным ресурсам, которые содержат встроенные учетные данные (например, "http://ima_user:hunter2@example.com/yay.tiff"). Такие ресурсы будут обрабатываться как сетевые ошибки.
Однако функциональность базовой аутентификации по-прежнему работает с Selenium 3.4.0, geckodriver версии 0.18.0, chromedriver версии 2.31.488763, Google Chrome 60.x и Mozilla Firefox 53.0 благодаря привязкам Selenium-Java.
работает в Google Chrome 62.0.3202.94 с ChromeDriver 2.33.506092, и подход, похоже, совместим с firefox 56.0.2 с geckodriver 0.19.1 и phantomjs 2.1.1, все под управлением Debian linux 9.
Я полагаю, что происходит то, что первый вызов устанавливает заголовок авторизации, отправляемый браузером. Второй вызов удаляет учетные данные из URL, и учетные данные больше не применяются к вспомогательным ресурсам. then синхронизирует два запроса, обеспечивая порядок.
Ответ 4
Новые функции для Chrome и базовая аутентификация через remote-debug: просто для ссылки здесь, чтобы люди, которые застряли, могли найти решение для Chrome и не только: Удаленная отладка Chrome в seleniumgrid