sesja nie została utworzona: ta wersja ChromeDriver obsługuje tylko błąd Chrome w wersji 74 z ChromeDriver Chrome używającym Selenium

164

Próbuję uruchomić RSelenium za pomocą funkcji rsDriver, ale po uruchomieniu rD <- rsDriver() pojawia się komunikat informujący mnie, że potrzebuję nowszej wersji 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.

Wydaje się, że komunikat o błędzie mówi, że potrzebuję Chrome w wersji 74.0.3729.6, ale kiedy patrzę w ustawienia Chrome, mówi mi, że mam najnowszą stabilną wersję (73.0.3683.75). Po dalszym googlowaniu, 74.0.3729.6 to przedpremierowa wersja deweloperska Chrome: czy muszę ją zainstalować, aby używać ChromeDriver z RSelenium?

Nie jestem przywiązany do pomysłu korzystania z Chrome, ale nie udało mi się zmusić rsDriver do korzystania z Firefoksa: kiedy browser = "firefox"określę, rsDriver wyświetla ten sam komunikat o błędzie, że ChromeDriver nie obsługuje mojej wersji Chrome.

Informacje o mojej sesji to:

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
Matthew Law
źródło
1
Pobierz tę starą wersję. Działa w porządku! >> ---> chromedriver.storage.googleapis.com/index.html?path=2.46
Nelson Carvalho
1
w moim przypadku, jeśli błąd mówi, że obsługuje tylko wersję 76, nie mogę użyć chrome 76.xxx. jeśli obniżę wersję do 75.xxx, jest napisane, że obsługuje tylko wersję 75. Jeśli spróbuję najnowszą wersję (obecnie 78), działa
BingLi224
@ BingLi224 Które wersje selenu i Pythona są używane? Trafiłem na ten sam problem, chociaż wersja Chrome to 78.0.3904.70
zzxwill
@zzxwill Selenium 3.141.0, Python 3.7.3, Chrome 78.0.3904.70 (obecnie, ale nie jestem pewien, co to było w tym momencie)
BingLi224
Jeśli masz czekoladę, możesz „Choco update chromedriver”
Aus10

Odpowiedzi:

36

Dziś napotkałem ten sam problem i znalazłem ten post i inne z Google. Myślę, że mogę mieć bardziej bezpośrednie rozwiązanie jako modyfikację twojego kodu. Poprzednia odpowiedź jest prawidłowa, jeśli chodzi o identyfikację niezgodności w wersjach.

Wypróbowałem proponowane rozwiązania bezskutecznie. Okazało się, że wersje na moim komputerze są poprawne. Jednak ten błąd niezgodności nie wynikał z rzeczywistych wersji zainstalowanych na komputerze, ale raczej kod RSelenium szuka domyślnego argumentu „najnowszej” wersji Chrome / ChromeDriver. Zobacz ?rsDriver()stronę pomocy dla argumentów.

Jeśli uruchomisz kod binman::list_versions("chromedriver")zgodnie z dokumentacją pomocy, możesz zidentyfikować wersje zgodne z funkcją. W moim przypadku udało mi się użyć następującego kodu do nawiązania połączenia.

driver <- rsDriver(browser=c("chrome"), chromever="73.0.3683.68", extraCapabilities = eCaps)

Powinieneś być w stanie określić swoją wersję Chrome za pomocą chromever=argumentu. Musiałem jednak użyć najbliższej wersji (moja wersja Chrome to „73.0.3683.75”).

Mam nadzieję że to pomoże!

CHAM
źródło
1
Odpowiedź CAD działała dla mnie z zastrzeżeniem chrome: // settings / help, aby wyświetlić i / lub zaktualizować wersję przeglądarki Chrome. W moim przypadku kliknąłem aktualizację do wersji: 73.0.3683.86 (oficjalna kompilacja) (64-bitowa)
user439089
Wygląda na to, że twój wariant jest bardziej odpowiedni dla mojego przypadku. Ale nie mogę znaleźć, jak powiedzieć do kątomierza, aby użyć określonej wersji. Na przykład ten chromever = „73.0.3683.68”. W moim przypadku. Używam niższej wersji przeglądarki Chrome, niż pyta kątomierz. To jest moja sprawa stackoverflow.com/questions/55984924/…
Victor Shelepen
2
Yo, sir, rock. Zmodyfikowałem nieco ten kod, aby zawsze używać najnowszej wersji z: available.versions<-binman::list_versions("chromedriver") latest.version = available.versions$win32[length(available.versions)] Dzięki za to!
StatsStudent
72

W przypadku aktualizacji chromedriver do MacOS załatwiła sprawę:

brew cask upgrade chromedriver
Yurii Verbytskyi
źródło
Fajnie, to zaprowadziło mnie na właściwą ścieżkę, z wyjątkiem tego chromedriver-beta, czego używałem, który spodziewałem się późniejszej wersji Chrome. Więc co zrobiłem:brew cask uninstall chromedriver-beta; brew cask install chromedriver
Anthony do
2
Działa to tylko wtedy, gdy zainstalowałeś chromedriver przez brew. Zainstalowałem go przez bezpośrednie pobranie, więc najpierw uruchomiłem, rm /usr/local/bin/chromedrivera następnie, brew cask install chromedriveraby uzyskać najnowszą wersję. W każdym razie rozwiązaniem była modernizacja chromedriver.
lucas
2
to powinna być akceptowana odpowiedź zamiast tej sugerującej obniżenie wersji Chrome
Guillaume Petit
To rozwiązało mój problem.
negrotico19
62

Ten komunikat o błędzie ...

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)

... oznacza, że ChromeDriver oczekuje, że wersja przeglądarki Chrome będzie 74 .


Szybka instalacja najnowszego ChromeDriver

Aby zainstalować najnowszą wersję ChromeDriver , możesz użyć:

  • Użytkownicy komputerów Mac z Homebrew :brew tap homebrew/cask && brew cask install chromedriver
  • Dystrybucje Linuksa oparte na Debianie :sudo apt-get install chromium-chromedriver
  • Użytkownicy systemu Windows z zainstalowanym Chocolatey :choco install chromedriver

Analiza

Twoim głównym problemem jest niezgodność między wersjami plików binarnych, których używasz w następujący sposób:

Obsługuje Chrome v74

  • Używasz aktualnie wydanego chrome = 73.0

Istnieje więc wyraźna niezgodność między ChromeDriver w wersji 74.0.3729.6 i Chrome Browser w wersji 73.0


Rozwiązanie

  • Downgrade ChromeDriver do v73.0.3683.68 ChromeDriver poziomie.
  • Przechowywać Chrome w wersji na V73 Chrome poziomie. ( zgodnie z informacjami o wersji ChromeDriver 73.0.3683.68 )
  • Oczyść swój projektu Workspace za pośrednictwem IDE i odbudować swój projekt z zaledwie wymaganych zależności.
  • Jeśli Twoja podstawowa wersja klienta WWW jest zbyt stara, odinstaluj ją i zainstaluj najnowszą wersję GA oraz wydaną wersję klienta WWW .
  • Wykonaj @Test.
  • Zawsze wywołujdriver.quit() w ramach tearDown(){}metody, aby z wdziękiem zamknąć i zniszczyć instancje WebDriver i Web Client .

Odniesienie

Odpowiednie szczegółowe omówienie można znaleźć w:

DebanjanB
źródło
Zdegradowałem ChromeDriver do wersji 73.0.3683.68, wyczyściłem obszar roboczy projektu i przebudowałem go tylko z wymaganymi zależnościami. Teraz po uruchomieniu wyświetla mi się inny komunikat o błędzie rD <- rsDriver(), kończący się na: [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.
Matthew Law
Przepraszam również, jeśli jest to oczywiste (po raz pierwszy próbuję zrobić coś takiego), ale co to jest klient sieciowy, a co to jest GA? Co to jest @Test i czy mogę go uruchomić w RStudio?
Matthew Law
Klient sieciowy -> Chrome Browser , GA -> General Avaiibility , @Test -> Adnotacja używana do identyfikacji testu za pomocą JUnit / TestNG (możesz po prostu potraktować jako test )
DebanjanB
1
To jest tylko ogólna odpowiedź na temat rozwiązywania problemów z niezgodnością wersji podczas korzystania z Selenium. Ta odpowiedź nie odnosi się Rani RSeleniumwcale. Ta zaakceptowana odpowiedź powinna być odpowiedzią @CAD poniżej.
conrad-mac
1
+1 za wyjaśnienie (naucz człowieka łowić ryby i tak dalej). Zaktualizowałem swój sterownik chromedriver, aby pasował do mojej wersji Chrome (Pomoc Chrome -> Informacje - wersja) i został naprawiony.
HockeyJ
26

Aktualizacja wersji Google Chrome do 74 zadziałała dla mnie.

Kroki: 1. Przejdź do Pomoc -> O Google Chrome -> Chrome automatycznie wyszuka aktualizacje (zaktualizuj Chrome do najnowszej wersji)

wprowadź opis obrazu tutaj

Atul
źródło
4
To działało świetnie dla mnie. Dużo łatwiejsze niż przyjęte rozwiązanie.
Anthony Do
22

Musiałem przeinstalować kątomierz, aby wyciągnąć zaktualizowany webdriver-managermoduł. Ponadto, zgodnie z komentarzem @ Marka, package-lock.jsonmoże blokować zależność.

npm uninstall protractor
npm install --save-dev protractor

Następnie sprawdź maxChromedriverwartość node_modules/protractor/node_modules/webdriver-manager/config.jsonpo ponownej instalacji, aby sprawdzić, czy jest zgodna z żądaną wersją sterownika Chrome.

demisx
źródło
2
Dzięki, pracował dla mnie. Miałem zainstalowany najnowszy kątomierz (5.4.2), ale zależny webdriver-manager utknął na 12.1.4. odinstalowanie i ponowne zainstalowanie kątomierza dało mi nowszego webdriver-managera - 12.1.7
Kev
Dzięki, dla mnie też pracował. Miałem ten sam problem, co Kev opisał w poprzednim komentarzu. ^
Toms Tumshais
1
to był problem dla mnie. package-lock.jsonZostał blokowania zależność. To nie jest błąd, wystarczy zaktualizować zależności.
Mark
2
Czy możesz zaktualizować swoją odpowiedź, aby zawierała informacje podane przez @Mark? Może to być kluczowe (to był rzeczywisty problem, który miałem)
lealceldeiro
8

Rozwiązałem ten problem dzisiaj i aktualizacja mojego webdrivermangera rozwiązała go dla mnie (moja poprzednia wersja to 3.0.0):

<dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>webdrivermanager</artifactId>
    <version>3.3.0</version>
    <scope>test</scope>
</dependency>
cmlonder
źródło
1
Rozwiązałem ten sam problem, aktualizując do wersji 3.3.0, dziękuję
Rajesh Om
1
Byłem na wersji 1.x. Aktualizacja do wersji 3.3.0 też to naprawiła.
ArtOfWarfare
Musisz użyć najnowszej wersji, czyli <version> 3.6.2 </version>.
Neyomal
Myślę, że ta odpowiedź byłaby znacznie lepsza, gdyby zawierała kroki, w jaki sposób można by uaktualnić ich „webdrivermanager”. Wszystko, co tu zrobiłeś, to dostarczenie XML bez zbytniego wyjaśnienia. Czy mógłbyś zaktualizować tę odpowiedź o dodatkowe szczegóły? Dzięki.
StatsStudent
7

Właśnie napotkałem ten sam rodzaj błędu przy RSelenium::rsDriver()domyślnym chromever = "latest"ustawieniu, co spowodowało nieudaną próbę połączenia chromedriver 75.0.3770.8z najnowszym google-chrome-stable 74.0.3729.157:

session not created: This version of ChromeDriver only supports Chrome version 75

Ponieważ wydaje się, że jest to powtarzający się i dość irytujący problem, wymyśliłem następujące obejście, aby zawsze używać najnowszej zgodnej wersji ChromeDriver :

rD <- RSelenium::rsDriver(browser = "chrome",
                          chromever =
                                  system2(command = "google-chrome-stable",
                                          args = "--version",
                                          stdout = TRUE,
                                          stderr = TRUE) %>%
                                  stringr::str_extract(pattern = "(?<=Chrome )\\d+\\.\\d+\\.\\d+\\.") %>%
                                  magrittr::extract(!is.na(.)) %>%
                                  stringr::str_replace_all(pattern = "\\.",
                                                           replacement = "\\\\.") %>%
                                  paste0("^",  .) %>%
                                  stringr::str_subset(string =
                                                              binman::list_versions(appname = "chromedriver") %>%
                                                              dplyr::last()) %>%
                                  as.numeric_version() %>%
                                  max() %>%
                                  as.character())

Powyższy kod jest testowany tylko pod Linuksem i wykorzystuje kilka pakietów tidyverse (zainstaluj je wcześniej lub przepisz w podstawowym R). W przypadku innych systemów operacyjnych może być konieczne trochę dostosowanie, w szczególności zastąpienie command = "google-chrome-stable"poleceniem specyficznym dla systemu, aby uruchomić Google Chrome:

  • Na MacOS powinien być wystarczający, aby wymienić command = "google-chrome-stable"z command = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome".

  • W systemie Windows błąd związany z platformą uniemożliwia nam bezpośrednie wywołanie pliku binarnego przeglądarki Google Chrome w celu uzyskania numeru wersji. Zamiast tego wykonaj następujące czynności:

    rD <- RSelenium::rsDriver(browser = "chrome",
                              chromever =
                                system2(command = "wmic",
                                        args = 'datafile where name="C:\\\\Program Files (x86)\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe" get Version /value',
                                        stdout = TRUE,
                                        stderr = TRUE) %>%
                                stringr::str_extract(pattern = "(?<=Version=)\\d+\\.\\d+\\.\\d+\\.") %>%
                                magrittr::extract(!is.na(.)) %>%
                                stringr::str_replace_all(pattern = "\\.",
                                                         replacement = "\\\\.") %>%
                                paste0("^",  .) %>%
                                stringr::str_subset(string =
                                                            binman::list_versions(appname = "chromedriver") %>%
                                                            dplyr::last()) 
                                as.numeric_version() %>%
                                max() %>%
                                as.character())

Zasadniczo kod zapewnia tylko, że najnowsza wersja sterownika ChromeDriver pasująca do numeru wersji głównej poprawki stabilnej przeglądarki Google Chrome w systemie jest przekazywana jako chromeverargument. Ta procedura powinna być zgodna z oficjalnym schematem wersji ChromeDriver . Zacytować:

  • ChromeDriver używa tego samego schematu numerów wersji co Chrome (...)
  • Każda wersja ChromeDriver obsługuje Chrome z pasującymi numerami wersji głównej, pobocznej i kompilacji. Na przykład ChromeDriver 73.0.3683.20 obsługuje wszystkie wersje Chrome zaczynające się od 73.0.3683.
Salim B.
źródło
3
Bohater, którego potrzebujemy. Dzięki! PS: Edytowałem, aby uwzględnić kod Windows, aby ułatwić przyszłym czytelnikom
Tung
2
👍 Właśnie go poprawnie zintegrowałem, ponieważ pomyślnie go przetestowałeś!
Salim B
3

Naprawdę zmagałem się z tym niedopasowaniem między ChromeDriver w wersji 74.0.3729.6 a przeglądarką Chrome w wersji 73.0. W końcu znalazłem sposób na przeniesienie ChromeDrivera do wcześniejszej wersji,

  1. W Chrome> O Google Chrome skopiuj numer wersji, z wyjątkiem ostatniej grupy. Na przykład 72.0.3626.

  2. Wklej tę wersję na końcu tego adresu URL i odwiedź ją. Wróci z wersją, którą powinieneś skopiować. https://chromedriver.storage.googleapis.com/LATEST_RELEASE_

  3. Wróć do wiersza poleceń, uruchom bundle exec chromedriver-update <copied version>

DanaG.
źródło
Znalazłem rozwiązanie i nauczyłem - musi już być taka odpowiedź :)
Aleks
3

Travis CI

Miałem ten sam problem w Travisie i rozwiązałem go dodając:

addons:
  chrome: stable

do mojego .travis.ymlpliku.

Francesco Borzi
źródło
Jeśli to nie działa, wypróbuj to: stackoverflow.com/a/57577404/2441263
lucas
3

Alternatywa dla Travisa CI

Inna odpowiedź, odkąd Francesco Borzi nie zadziałała dla mnie.

Dodaj to do swojego travis.yml:

addons:
  chrome: stable

before_script:
  - LATEST_CHROMEDRIVER_VERSION=`curl -s "https://chromedriver.storage.googleapis.com/LATEST_RELEASE"`
  - curl "https://chromedriver.storage.googleapis.com/${LATEST_CHROMEDRIVER_VERSION}/chromedriver_linux64.zip" -O
  - unzip chromedriver_linux64.zip -d ~/bin

Wielkie dzięki i uznanie dla tagliali na githubie:

https://github.com/diowa/ruby2-rails5-bootstrap-heroku/commit/6ba95f33f922895090d3fabc140816db67b09672

Lucas
źródło
2

To rozwiązanie zadziałało dla mnie

  1. Upewnij się, że używasz wersji 3.5.3 lub nowszej
  2. driver <- rsDriver(browser=c("chrome"), chromever="73.0.3683.68")
stevec
źródło
2

Nie ma już potrzeby obniżania wersji Chrome, gdy pojawi się ten błąd, oznacza to tylko, że czas webdriver-manager updatezacząć ponownie

Bogdan Martinescu
źródło
2

Wpadłem na ten problem i udało mi się rozwiązać w 2 głównych krokach:

1 - Zaktualizuj do najnowszej wersji chromedriver przez homebrew cli

brew cask upgrade chromedriver

2 - aktualizacja do najnowszej wersji za pośrednictwem Chrome GUI

chrome: // settings / help lub cmd+ ,następnie dołączenie pomocy na końcu (twój wybór)

stamtąd powinieneś znaleźć się na stronie Chrome - informacje. Tutaj musisz sprawdzić, czy korzystasz z najnowszej i najlepszej wersji (problem, na który się natknąłem, wynikał z niezgodności w CLI z obecną wersją Chrome)

jeśli pojawi się błąd, zobaczysz update & relaunchgłówny przycisk akcji.

po ponownym uruchomieniu Chrome będzie miał najnowszą wersję pasującą do Twojej CLI

przykład:

Google Chrome is up to date
Version 80.0.3987.87 (Official Build) (64-bit)
Denis S Dujota
źródło
2

po prostu przejdź do tego adresu URL w przeglądarce Chrome

 chrome://settings/help  

a chrome automatycznie wyszuka aktualizacje (zaktualizuj Chrome do najnowszej wersji)

koniec :)

mamal
źródło
1

Ten sam błąd wystąpił, gdy używam platformy robota (platformy opartej na Selenium) w instancji platformy Docker . Powodem było to, że docker używał pamięci podręcznej google-chrome-stable_current_amd64.debdla Chrome, ale zainstalował najnowszy sterownik Chrome, który był późniejszą wersją.

Następnie użyłem poniższego polecenia i błąd został rozwiązany.

docker-compose build --no-cache

Mam nadzieję, że to komuś pomoże.

Arosha
źródło
1

Miałem ten sam błąd:

sesja nie została utworzona: ta wersja ChromeDriver obsługuje tylko Chrome w wersji 75

...

Informacje o sterowniku: driver.version: ChromeDriver

Testy przeprowadzamy z komputera, który nie ma prawdziwego interfejsu użytkownika, więc musiałem pracować za pomocą wiersza poleceń (CLI).

Zacząłem od wykrycia aktualnej wersji Chrome, która była zainstalowana na komputerze z systemem Linux:

$> google-chrome --version

Otrzymałem tę odpowiedź:

Google Chrome 74.0.3729.169

Więc zaktualizowałem wersję Chrome w ten sposób:

$> sudo apt-get install google-chrome-stable

A po ponownym sprawdzeniu wersji otrzymałem to:

Google Chrome 75.0.3770.100

Wtedy testy Selenium przebiegały bezproblemowo.

riorio
źródło
Ma to zastosowanie, gdy przeglądarka Chrome została zainstalowana przez repo / ppa i nie może się zaktualizować
prusswan
1

Po prostu zaktualizuj kątomierz:

npm install protractor @ latest --save-dev

Gi1ber7
źródło
1

Możesz określić dokładną wersję instalacji Chrome w następujący sposób:

webdriver-manager update --versions.chrome 73.0.3683.75

Może musisz zrobić webdriver-manager cleanpierwszy w przypadku obniżenia wersji.

białobrązowy
źródło
1
$ which chromedriver
/usr/local/bin/chromedriver
$ chromedriver --version
ChromeDriver 78.0.3904.105

Pobrałem plik zip z https://chromedriver.chromium.org/downloads. Jest tam napis „Jeśli używasz Chrome w wersji 79, pobierz ChromeDriver 79.0.3945.36” i używam Chrome w wersji 79. (Sprawdziłemchrome://settings/help ) Najwyraźniej Wystąpił błąd „Ta wersja ChromeDriver obsługuje tylko Chrome w wersji 78”

Następnie kliknąłem plik zip i przeniosłem ten plik „chromedriver” do /usr/local/bin/katalogu. To rozwiązało problem.

$ which chromedriver
$ chromedriver --version
ChromeDriver 79.0.3945.36
kangkyu
źródło
0

Jest to przydatne dla osób korzystających z Linuksa. Mój problem był trywialny, użyłem przeglądarki Chrome. Zainstalowałem chrome i wszystkie problemy zostały rozwiązane. Może działać z chromem, ale z dodatkowymi akcjami. Nie odniosłem sukcesu. Mogę ustawić wymaganą wersję sterownika do konfiguracji kątomierza. Używał najnowszego. Potrzebowałem obniżenia.

Victor Shelepen
źródło
0

Mam prawie te same problemy, takie jak ten, problemy pojawiają się w rurociągu podczas wykonywania mojego testu selenu, który wymaga pakietu chromedriver do uruchomienia testu e2e.

Mój potok kompilacji błędów

Problem jest po prostu dlatego, że w potoku (w moim przypadku) jest wersja Chrome 73, a mój pakiet chromedriver jest zainstalowany w wersji 74.

Wreszcie istnieją dwa proste rozwiązania:

  1. Zmień wersję Chrome na starszą
  2. Zmień wersję pakietu chromedriver na starszą. w moim przypadku, ponieważ pracuję w rurociągu, muszę zainstalować chromedriver przed uruchomieniem testu selenu, jak pokazano poniżej.

    - script: npm install [email protected] --chromedriver-force-download displayName: 'Install Chrome'

Gadani
źródło
Mam ten sam problem, jak poznać wersję chrome w węźle Jenkins?
Chandresh Mishra
Jak zainstalować chrom na węźle jako część potoku kompilacji, jeśli nie ma chromu
Chandresh Mishra
aby zainstalować chrome jako część potoku kompilacji, możesz po prostu dodać skrypt zadań, który umieściłem powyżej.
Gadani,
0

Korzystanie z programu Visual Studio

Nie mogłem rozwiązać niezgodności wersji, postępując zgodnie z żadną z odpowiedzi podczas korzystania z programu Visual Studio, ale po prostu zaktualizowałem pakiety nuget Selenium.WebDriver i Selenium.WebDriver.ChromeDriver do najnowszych wersji.

Używałem Chrome v78, a aktualizacja chromedriver do v78 nadal powodowała błąd niezgodności. Odpowiedź CAD doprowadziła mnie do rozwiązania.

GuyB
źródło
0

Ten sam problem spotkał mnie dzisiaj.

Moje rozwiązanie:

Pobierz najnowszą stabilną wersję chromedriver: https://sites.google.com/a/chromium.org/chromedriver/

Zaktualizuj sterownik chrome w folderze Selenium. Jest to trochę trudne, ponieważ znajduje się w ukrytym folderze na komputerze o nazwie AppData. Oto jak to zrobiłem na moim komputerze (Windows 7):

C:> użytkownicy> twój użytkownik> \ AppData (musisz to zapisać w polu ścieżki folderu, ponieważ jest to folder ukryty)> Lokalny (to jest nazwa folderu w języku portugalskim, może będzie miał dla ciebie inną nazwę) > SelenBasic

Znajdziesz tam aplikację chromedriver. Po prostu zmień jego nazwę (jeśli nie działa, chcesz mieć starszą wersję) i wklej najnowszą wersję.

Amanda Restom de Castro
źródło
0

Ostatnio miałem ten sam problem. To był mój błąd:

System.InvalidOperationException : session not created: This version of ChromeDriver only supports Chrome version 76 (SessionNotCreated)

Ta poprawka zadziałała dla mnie:

  • upewnij się, że nie ma uruchomionych procesów chromedriver.exe (w razie potrzeby zabij je wszystkie, np. za pomocą menedżera zadań)
  • przejdź do folderu bin i usunąć stamtąd chromedriver.exe plik (w moim przypadku było: [project_folder]\bin\Debug\netcoreapp2.1)
krupaluke
źródło
0

Upewnij się, że masz najnowszą wersję programu webdriver-manager. Możesz zainstalować to samo za pomocąnpm i webdriver-manager@latest --save

Następnie wykonaj następujące czynności

command.webdriver-manager update
Rahul Tokase
źródło
0

Miałem ten sam problem i rozwiązałem go, po prostu pobierając plik chromedriver plik dla poprzedniej wersji Chrome. Odkryłem, że wersja 79 przeglądarki Chrome jest kompatybilna z aktualną wersją Selenium.

Następnie zapisałem go w określonej ścieżce i połączyłem tę ścieżkę z my webdriver.

Dokładne kroki są określone w tym linku: http://chromedriver.chromium.org/downloads

Omer Hen
źródło
0

Miałem podobny problem, właśnie zaktualizowałem menedżera webdriver na Macu, użyj tego w terminalu, aby zaktualizować menedżera webdriver-

 sudo webdriver-manager update
MKR
źródło
0
  1. pobierz aktualną stabilną wersję swojego chrome i zainstaluj ją (aby sprawdzić swoją wersję Google Chrome, przejdź do Pomoc> o Google Chrome i spróbuj zainstalować tę wersję na komputerze lokalnym.

Aby pobrać wersję Google Chrome, odwiedź witrynę = chromedriver.chromium.org

Akash Desai
źródło
0

Sprawdziłem wersję mojej przeglądarki Google Chrome zainstalowaną na moim komputerze, a następnie ChromeDriverpobrałem wersję dostosowaną do wersji mojej przeglądarki. Możesz go pobrać z https://chromedriver.chromium.org/

Varat Vohra
źródło