Я пытаюсь запустить RSelenium с помощью функции rsDriver, но когда я запускаю,
rD <- rsDriver()
я получаю сообщение о том, что мне нужна более новая версия Chrome:
> rD <- rsDriver()
checking Selenium Server versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking chromedriver versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking geckodriver versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking phantomjs versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
[1] "Connecting to remote server"
Selenium message:session not created: This version of ChromeDriver only supports Chrome version 74
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Mac OS X 10.14.3 x86_64)
Could not open chrome browser.
Client error message:
Summary: SessionNotCreatedException
Detail: A new session could not be created.
Further Details: run errorDetails method
Check server log for further details.
Появляется сообщение об ошибке, в котором говорится, что мне нужна версия Chrome 74.0.3729.6, но когда я просматриваю настройки Chrome, он говорит, что у меня установлена последняя стабильная версия (73.0.3683.75). При дальнейшем поиске, 74.0.3729.6 является предварительной версией Chrome: нужно ли устанавливать ее, чтобы использовать ChromeDriver с RSelenium?
Я не привержен идее использования Chrome, но я не смог заставить rsDriver использовать Firefox: когда я указываю browser = "firefox"
, rsDriver выдает мне то же сообщение об ошибке, что ChromeDriver не поддерживает мою версию Chrome.
Информация о моей сессии:
R version 3.5.2 (2018-12-20)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Mojave 10.14.3
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] wdman_0.2.4 forcats_0.3.0 stringr_1.3.1 dplyr_0.7.8 purrr_0.2.5 readr_1.3.1 tidyr_0.8.2
[8] tibble_2.0.1 ggplot2_3.1.0 tidyverse_1.2.1 rvest_0.3.2 xml2_1.2.0 RSelenium_1.7.5
источник
Ответы:
Я столкнулся с той же проблемой сегодня и нашел этот пост и другие от Google. Я думаю, что у меня может быть более прямое решение как модификация вашего кода. Предыдущий ответ верен при выявлении несоответствия в версиях.
Я попробовал предложенные решения безрезультатно. Я обнаружил, что версии были правильными на моем компьютере. Однако эта ошибка несоответствия была вызвана не фактическими версиями, установленными на компьютере, а кодом RSelenium, который ищет «последнюю» версию Chrome / ChromeDriver по умолчанию. Смотрите
?rsDriver()
страницу помощи для аргументов.Если вы запустите код,
binman::list_versions("chromedriver")
указанный в справочной документации, вы сможете определить версии, совместимые с этой функцией. В моем случае я смог использовать следующий код для установления соединения.driver <- rsDriver(browser=c("chrome"), chromever="73.0.3683.68", extraCapabilities = eCaps)
Вы должны быть в состоянии указать свою версию Chrome с
chromever=
аргументом. Я должен был использовать самую близкую версию (моя версия Chrome была "73.0.3683.75").Надеюсь это поможет!
источник
available.versions<-binman::list_versions("chromedriver") latest.version = available.versions$win32[length(available.versions)]
Спасибо за это!Для MacOS обновление chromedriver добилось цели:
источник
chromedriver-beta
, который ожидал более позднюю версию Chrome. Итак, что я сделал:brew cask uninstall chromedriver-beta; brew cask install chromedriver
rm /usr/local/bin/chromedriver
а затемbrew cask install chromedriver
получил последнюю версию. В любом случае, обновление chromedriver было решением.Это сообщение об ошибке ...
... подразумевает, что ChromeDriver ожидает, что версия браузера Chrome будет 74 .
Быстрая установка последней версии ChromeDriver
Для установки последней версии ChromeDriver вы можете использовать:
brew tap homebrew/cask && brew cask install chromedriver
sudo apt-get install chromium-chromedriver
choco install chromedriver
Анализ
Ваша основная проблема заключается в несовместимости используемой версии двоичных файлов:
Таким образом, существует явное несоответствие между ChromeDriver v74.0.3729.6 и Chrome Browser v73.0
Решение
@Test
.driver.quit()
вtearDown(){}
методе , чтобы закрыть и уничтожить WebDriver и веб - клиент случаи грациозно.Ссылка
Вы можете найти соответствующее подробное обсуждение в:
источник
rD <- rsDriver()
, оканчивающееся на:[1] "Connecting to remote server" Could not open chrome browser. Client error message: Undefined error in httr call. httr output: Failed to connect to localhost port 4567: Connection refused Check server log for further details. Warning message: In rsDriver() : Could not determine server status.
Selenium
. Этот ответ не относитсяR
илиRSelenium
вообще. Этот принятый ответ должен быть ответом @CAD ниже.Обновление версии Google Chrome до 74 работало для меня.
Шаги: 1. Перейдите в Справка -> О Google Chrome -> Chrome автоматически выполнит поиск обновлений (обновите Chrome до последней версии)
источник
Пришлось переустановить транспортир, чтобы на него вытянуть обновленный
webdriver-manager
модуль. Кроме того, согласно комментарию @ Mark,package-lock.json
возможно, блокируется зависимость.Затем обязательно проверьте
maxChromedriver
значениеnode_modules/protractor/node_modules/webdriver-manager/config.json
после переустановки, чтобы убедиться, что оно соответствует требуемой версии драйвера Chrome.источник
package-lock.json
Запирал зависимость. Это не ошибка, просто нужно обновить зависимости.Я справился с этой проблемой сегодня, и обновление моего webdrivermanger решило ее для меня (моя предыдущая версия была 3.0.0):
источник
Я просто столкнулся с той же самой ошибкой, используя настройку по
RSelenium::rsDriver()
умолчанию,chromever = "latest"
которая привела к неудачной попытке объединитьсяchromedriver 75.0.3770.8
с последнимgoogle-chrome-stable 74.0.3729.157
:Поскольку это, очевидно, кажется повторяющейся и довольно раздражающей проблемой, я предложил следующий обходной путь, чтобы всегда использовать последнюю совместимую версию ChromeDriver :
Приведенный выше код протестирован только под Linux и использует некоторые пакеты tidyverse (установите их заранее или переписайте в базе R). Для других операционных систем вам, возможно, придется немного его адаптировать, особенно заменить
command = "google-chrome-stable"
системной командой для запуска Google Chrome:На macOS должно быть достаточно заменить
command = "google-chrome-stable"
наcommand = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
.В Windows ошибка, связанная с платформой, не позволяет нам напрямую вызывать двоичный код Google Chrome для получения номера версии. Вместо этого сделайте следующее:
В принципе, код просто гарантирует последнюю версию ChromeDriver согласования мажорно-минорной-патч номер версии стабильной Google Chrome браузером системы передается в качестве
chromever
аргумента. Эта процедура должна придерживаться официальной схемы управления версиями ChromeDriver . Quote:источник
Я действительно боролся с этим несоответствием между ChromeDriver v74.0.3729.6 и Chrome Browser v73.0. Я наконец нашел способ получить ChromeDriver к более ранней версии,
В Chrome> О Google Chrome скопируйте номер версии, кроме последней группы. Например, 72.0.3626.
Вставьте эту версию в конце этого URL и посетите его. Он вернется с версией, которую вы должны скопировать. https://chromedriver.storage.googleapis.com/LATEST_RELEASE_
Вернувшись в командную строку, запустите
bundle exec chromedriver-update <copied version>
источник
Трэвис CI
У меня была та же проблема в Трэвисе, и я решил:
в мой
.travis.yml
файл.источник
Travis CI альтернатива
Еще один ответ, так как Франческо Борзи не работал для меня.
Добавьте это к вашему travis.yml:
Большое спасибо и благодарность tagliala на github:
https://github.com/diowa/ruby2-rails5-bootstrap-heroku/commit/6ba95f33f922895090d3fabc140816db67b09672
источник
Это решение сработало для меня
driver <- rsDriver(browser=c("chrome"), chromever="73.0.3683.68")
источник
Больше нет необходимости понижать версию Chrome, когда вы получаете эту ошибку, значит, пора
webdriver-manager update
снова запускатьсяисточник
Столкнулся с этой проблемой и смог решить 2 основных шага:
1 - Обновление до последней версии chromedriver с помощью homebrew cli
2 - обновить до последней версии через Chrome GUI
chrome: // settings / help или
cmd
+,
затем добавляем помощь в конце (ваш выбор)оттуда вы должны попасть на страницу About Chrome. Здесь вам нужно будет убедиться, что вы используете последнюю и лучшую версию (проблема, с которой я столкнулся, возникла из-за несоответствия в текущей версии Chrome)
если вы получите сообщение об ошибке, вы увидите
update & relaunch
кнопку основного действия.после Chrome "перезапускается" теперь будет самая новая версия, соответствующая вашей
пример:
источник
просто перейдите по этому адресу в браузере Chrome
и Chrome будет автоматически искать обновления (обновить Chrome до последней версии)
финиш :)
источник
Я получил ту же ошибку, когда я использую каркас робота (каркас на основе Selenium) в экземпляре Docker . Причина в том, что докер использовал кэшированный
google-chrome-stable_current_amd64.deb
для Chrome, но он установил последнюю версию драйвера Chrome, которая была более поздней.Затем я использовал приведенную ниже команду и ошибка устранена.
Надеюсь, это кому-нибудь поможет.
источник
Я столкнулся с той же ошибкой:
Мы запускаем тесты с компьютера, на котором нет реального пользовательского интерфейса, поэтому мне пришлось работать через командную строку (CLI).
Я начал с определения текущей версии Chrome, которая была установлена на компьютере с Linux:
И получил этот ответ:
Итак, я обновил версию Chrome следующим образом:
И после проверки версии я получил это:
Тогда тесты Selenium смогли пройти гладко.
источник
Просто обновите транспортир:
npm установить транспортир @ последний --save-dev
источник
Вы можете указать точную версию вашей установки Chrome следующим образом:
webdriver-manager update --versions.chrome 73.0.3683.75
Может быть, вам нужно сделать
webdriver-manager clean
первый в случае понижения.источник
Я скачал zip-файл с https://chromedriver.chromium.org/downloads. Там написано: «Если вы используете Chrome версии 79, пожалуйста, скачайте ChromeDriver 79.0.3945.36», и я использовал Chrome версии 79. (Я проверил
chrome://settings/help
) ошибка для меня была "Эта версия ChromeDriver поддерживает только Chrome версии 78"А затем я щелкнул zip-файл и переместил этот файл «chromedriver» в
/usr/local/bin/
каталог. Это решило проблему.источник
Это полезно для людей Linux. Моя проблема была тривиальной, я использовал хром-браузер. Я установил Chrome и все проблемы были решены. Это может работать с хромом, но с дополнительными действиями. Я не получил успех. Я мог бы установить нужную версию драйвера для конфигурации транспортира. Он использовал последние. Мне нужно было понизить рейтинг.
источник
У меня почти такие же проблемы, как эта, проблемы возникают внутри конвейера при запуске моего теста на селен, для которого требуется пакет chromedriver для запуска теста e2e.
Моя ошибка сборки конвейера
Проблема только в том, что в конвейере (в моем случае) установлена версия chrome 73, а мой пакет chromedriver установлен в версии 74.
источник
Использование Visual Studio
Я не смог устранить несоответствие версий, выполнив любой из ответов при использовании Visual Studio, но просто обновил пакеты nuget Selenium.WebDriver и Selenium.WebDriver.ChromeDriver до последних версий.
Я использовал Chrome v78, и обновление chromedriver до v78 все еще давало ошибку несовместимости. Ответ CAD привел меня к решению.
источник
Та же самая проблема произошла со мной сегодня.
Мое решение:
Загрузите последнюю стабильную версию chromedriver: https://sites.google.com/a/chromium.org/chromedriver/
Обновите драйвер chrome в папке Selenium. Это немного сложно, потому что находится в скрытой папке на вашем компьютере под названием AppData. Вот как я это сделал на своем компьютере (Windows 7):
C:> users> your user> \ AppData (вам нужно указать это в поле пути к папке, так как это скрытая папка)> Local (это имя папки на португальском языке, возможно, оно будет иметь другое имя для вас) > SeleniumBasic
Там вы найдете приложение chromedriver. Просто переименуйте его (в случае, если он не работает, вы хотите иметь более старую версию) и вставьте самую новую версию.
источник
У меня недавно была та же самая проблема. Это была моя ошибка:
Это исправление сработало для меня:
[project_folder]\bin\Debug\netcoreapp2.1
)источник
Убедитесь, что у вас установлена последняя версия webdriver-manager. Вы можете установить то же самое, используя
npm i webdriver-manager@latest --save
Затем запустите следующее
источник
У меня была та же проблема, и я решил ее, просто загрузив
chromedriver
файл для предыдущей версии Chrome. Я обнаружил, что версия 79 Chrome совместима с текущей версией Selenium.Затем я сохранил его по указанному пути и связал этот путь с моим
webdriver
.Точные шаги указаны в этой ссылке: http://chromedriver.chromium.org/downloads
источник
У меня была похожая проблема, только что обновленный менеджер webdriver на Mac использовал это в терминале, чтобы обновить менеджер webdriver-
источник
Для загрузки Google Chrome версии посетите сайт = chromedriver.chromium.org
источник
Я проверил версию моего браузера Google Chrome, установленного на моем компьютере, а затем загрузил его в
ChromeDriver
соответствии с версией моего браузера. Вы можете скачать его с https://chromedriver.chromium.org/источник