Я пытаюсь запустить Chrome с URL, браузер запускается, и после этого ничего не происходит.
Я вижу ошибку ниже через 1 минуту:
Unable to open browser with url: 'https://www.google.com' (Root cause: org.openqa.selenium.WebDriverException: unknown error: DevToolsActivePort file doesn't exist
(Driver info: chromedriver=2.39.562718 (9a2698cba08cf5a471a29d30c8b3e12becabb0e9),platform=Windows NT 10.0.15063 x86_64) (WARNING: The server did not provide any stacktrace information)
Моя конфигурация:
- Хром: 66
- ChromeBrowser: 2.39.56
PS все отлично работает в Firefox
Ответы:
Это сообщение об ошибке ...
... подразумевает, что ChromeDriver не смог инициировать / создать новый WebBrowser, т.е. сеанс браузера Chrome .
Ваши испытания кода и информация о версиях всех двоичных файлов дала бы нам подсказку о том, что происходит не так.
Однако в соответствии с параметром « Добавить --disable-dev-shm-Использование к флагам запуска по умолчанию» добавление аргумента
--disable-dev-shm-usage
временно решит проблему.Если вы хотите инициировать / охватить новый сеанс браузера Chrome, вы можете использовать следующее решение:
Disable-DEV-ое-использование
Согласно base_switches.cc
disable-dev-shm-usage
кажется действительным только на ОС Linux :В обсуждении Добавить параметр, чтобы использовать / tmp вместо / dev / shm, Дэвид упоминает:
Outro
Вот ссылка на историю Песочницы .
источник
DevToolsActivePort file doesn't exist
, и почему она вдруг начала появляться?disable-dev-shm-usage
было недостаточно. Я должен был также добавить,--no-sandbox
чтобы заставить это работать. Это было полное исправление для меня для Selenium-java:chromeOptions.addArguments("--no-sandbox", "--disable-dev-shm-usage");
Я начал видеть эту проблему в понедельник 2018-06-04. Наши тесты проводятся каждый будний день. Похоже, что единственное, что изменилось, это версия google-chrome (которая была обновлена до текущей версии), JVM и Selenium были последними версиями для Linux (Java 1.8.0_151, selenium 3.12.0, google-chrome 67.0.3396.62 и Xvfb перспектива).
В частности, добавление аргументов « --no-sandbox » и « --disable-dev-shm-Использование » остановило ошибку. Я рассмотрю эти вопросы, чтобы найти больше информации об эффекте и другие вопросы, например, что вызвало обновление Google-Chrome.
источник
[java] [1536892035.965][SEVERE]: Timed out receiving message from renderer: 60.000
ошибки даже с этимУ нас были те же проблемы с нашими рабами jenkins (машина linux) и мы испробовали все варианты, описанные выше.
Помогла только установка аргумента
Но когда мы продолжили исследование, заметили, что экран XVFB не запускает свойства, и это вызывает эту ошибку. После того, как мы исправили экран XVFB, он решил проблему.
источник
У меня была такая же проблема в питоне. Вышеуказанное помогло. Вот что я использовал в python -
источник
Обновить:
Я могу решить эту проблему, и теперь я могу получить доступ к Chrome с нужным URL.
Результаты опробования предоставленных решений:
Я перепробовал все настройки, как указано выше, но мне не удалось решить проблему
Объяснение по поводу проблемы:
По моим наблюдениям файл DevToolsActivePort не существует, это вызвано тем, что chrome не может найти свою ссылку в папке scoped_dirXXXXX.
Шаги, предпринятые для решения проблемы
Добавлен код ниже, чтобы вызвать Chrome
Используя описанные выше шаги, я смог решить проблему.
Спасибо за ваши ответы.
источник
Недавно я столкнулся с той же проблемой, и после некоторых проб и ошибок это сработало и для меня.
ДОЛЖЕН БЫТЬ НА ВЕРХЕ:
BaseSeleniumTests.java
GoogleSearchPageTraditionalSeleniumTests.java
pom.xml
источник
В моем случае в следующей среде:
3.7.5
C:\Windows
3.141.0
Мне нужно было добавить аргументы
--no-sandbox
и--remote-debugging-port=9222
кChromeOptions
объекту и запустить код от имени администратора, запустив Powershell / cmd от имени администратора.Вот соответствующий фрагмент кода:
источник
Я столкнулся с этой проблемой на Ubuntu 20 с Python Selenium после того, как сначала загрузил хром-драйвер отдельно, а затем использовал
sudo apt install chromium-browser
Даже несмотря на то, что они были одной и той же версии, это продолжалось.Мое исправление состояло в том, чтобы использовать предоставленный драйвер chrome, который шел с пакетом репозитория, расположенным в
источник
Как указано в этом другом ответе :
Среди возможных причин, я хотел бы отметить тот факт , что, в случае , если вы работаете в обезглавленное Chromium через Xvfb, вы , возможно , необходимо
export
вDISPLAY
переменной: в моем случае, я был на месте (как рекомендуется)--disable-dev-shm-usage
и--no-sandbox
варианты, все было работает нормально, но в новой установке, работающей на последней (на момент написания) версии Ubuntu 18.04, эта ошибка начала возникать, и единственное возможное исправление было выполнитьexport DISPLAY=":20"
(предварительно запустив Xvfb сXvfb :20&
).источник
Я также столкнулся с этой проблемой при интеграции с сервером Jenkins, я использовал корневой пользователь для Дженкин работы, то проблема была решена , когда я изменил пользователь другого пользователя . Я не уверен, почему эта ошибка возникает для пользователя root.
источник
В моем случае это произошло, когда я попытался использовать свой профиль пользователя по умолчанию:
Этот запущенный Chrome для повторного использования процессов, уже запущенных в фоновом режиме, таким образом, что процесс, запущенный chromedriver.exe, был просто завершен.
Решение: убейте все процессы chrome.exe, работающие в фоновом режиме.
источник
обновить возможности в conf.js как
источник
В моем случае я пытался создать исполняемый файл jar в ОС Windows с браузером Chrome и хочу запустить его в автономном режиме в Unix-боксе с CentOs на нем. И я указывал свой двоичный файл на драйвер, который я скачал и упаковал с моим набором. Для меня эта проблема продолжает возникать независимо от добавления ниже:
Решение, которое я пробовал и работало для меня, это загрузить Chrome и его инструменты на хост-машину VM / Unix, установить и указать двоичный файл на это в пакете автоматизации и бинго! Оно работает :)
Скачать команду:
Установить команду:
Обновите пакет с бинарным путем google-chrome:
И .. это работает!
источник
У меня была такая же проблема, но в моем случае Chrome ранее был установлен в пользовательскую временную папку, после чего был переустановлен в Program files. Таким образом, любое из представленных здесь решений не помогло мне. Но если указать путь к chrome.exe, все работает:
Надеюсь это кому-нибудь поможет =)
источник
Никакое решение не сработало для моего. Но вот обходной путь:
источник
Вы можете получить эту ошибку просто для передачи неверных аргументов в Chrome. Например, если я
"headless"
передам в качестве аргумента C # ChromeDriver, он срабатывает великолепно. Если я ошибаюсь и использую неправильный синтаксис"--headless"
, я получаюDevToolsActivePort file doesn't exist
ошибку.источник
Я столкнулся с той же проблемой, я использую UBUNTU, PYTHON и браузер OPERA . В моем случае проблема возникла из-за устаревшей версии Operadriver.
Решение: 1. Убедитесь, что вы установили последнюю версию браузера Opera (не используйте Opera beta или Opera Developer), для этого перейдите на официальный сайт Opera и загрузите оттуда последнюю версию opera_stable.
wget https://github.com/operasoftware/operachromiumdriver/releases/download/v.80.0.3987.100/operadriver_linux64.zip
в моем случае последний был 80.0.3987, как вы можете видеть
Кроме того, я также установил chromedriver (но, поскольку я сделал это перед тестированием, я не знаю, нужно ли это), чтобы установить chromedriver, выполните шаги, описанные в предыдущем шаге: v
Наслаждайся и благодари меня!
Пример кода селена
источник
Кажется, есть много возможных причин этой ошибки. В нашем случае ошибка произошла из-за следующих двух строк в коде:
Это решается удалением второй строки.
источник
Я столкнулся с той же проблемой при запуске Chrome через Behat / Mink и Selenium в контейнере Docker. После некоторой тряски я пришел к следующему,
behat.yml
которое снабжает переключатели, упомянутые выше. Обратите внимание, что все они были необходимы для успешного запуска.источник
В моем случае я нахожусь в среде Kubernetes, где я не могу использовать TMPDIR по умолчанию, потому что он заполнит временный каталог мусором.
Так что я использовал это, чтобы использовать другой tmpdir:
Но теперь, когда я обновил все до последней версии, это больше не работает. Мне нужно будет найти новый способ сделать это.
источник
Это происходит, когда chromedriver не может определить, какой порт отладки использует Chrome.
Одной из возможных причин является открытый дефект с HKEY_CURRENT_USER \ Software \ Policies \ Google \ Chrome \ UserDataDir
Но в моем последнем случае это была другая неопознанная причина.
К счастью, установка номера порта работала вручную:
источник
Неверный номер порта в моем случае. Проверьте, совпадает ли номер порта при запуске сервера Selenium с вашим скриптом.
источник
Я решаю эту проблему путем установки
yum -y install gtk3-devel gtk3-devel-docs
", все работает нормальноМоя работа env:
Перед:
После:
источник
Поскольку это наиболее активное сообщение для ошибок такого типа, я хотел бы упомянуть свое решение (потратив на это часы).
В Ubuntu 18.04, используя Chrome 70 и Chromedriver 2.44 и Python3, я продолжал получать ту же ошибку DevToolsActivePort, даже когда я отключил все перечисленные выше опции. Файл журнала chromedriver, также как и ps, показал, что хромедрайвер, который я установил в chrome_options.binary_location, работал, но всегда выдавал ошибку DevToolsActivePort. Когда я удалил chrome_options.binary_location = '....' и добавил его в создание веб-драйвера, я понял, что он работает нормально. webdriver.Chrome ('/ path to ... / chromedriver', chrome_options = chrome_options)
Спасибо всем за ваши комментарии, которые помогают мне понять и решить проблему.
источник