Sitzung nicht erstellt: Diese Version von ChromeDriver unterstützt nur Chrome-Fehler der Version 74 mit ChromeDriver Chrome unter Verwendung von Selenium


163

Ich versuche, RSelenium mit der Funktion rsDriver auszuführen, aber wenn ich es ausführe rD <- rsDriver() , wird eine Meldung angezeigt, dass ich eine neuere Version von Chrome benötige:

> 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.

Die Fehlermeldung scheint zu sagen, dass ich Chrome Version 74.0.3729.6 benötige. Wenn ich jedoch in den Chrome-Einstellungen nachschaue, wird angezeigt, dass ich die neueste stabile Version (73.0.3683.75) verwende. Beim weiteren Googeln ist 74.0.3729.6 eine Vorabversion von Chrome: Muss ich diese installieren, um ChromeDriver mit RSelenium verwenden zu können?

Ich bin nicht mit der Idee verbunden, Chrome zu verwenden, aber ich konnte rsDriver nicht dazu bringen, Firefox zu verwenden: Wenn ich dies spezifiziere browser = "firefox", gibt rsDriver die gleiche Fehlermeldung aus, dass ChromeDriver meine Chrome-Version nicht unterstützt.

Meine Sitzungsinformationen sind:

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

1
Laden Sie diese alte Version herunter. Funktioniert gut! >> ---> chromedriver.storage.googleapis.com/index.html?path=2.46
Nelson Carvalho

1
In meinem Fall kann ich Chrome 76.xxx nicht verwenden, wenn der Fehler besagt, dass nur Version 76 unterstützt wird. Wenn ich ein Downgrade auf 75.xxx durchführe, heißt es, dass es nur Version 75 unterstützt. Wenn ich die neueste Version (derzeit 78) ausprobiere, funktioniert es
BingLi224

@ BingLi224 Welche Version von Selen und Python wird verwendet? Ich traf das gleiche Problem, obwohl die Version von Chrome 78.0.3904.70
zzxwill

@zzxwill Selenium 3.141.0, Python 3.7.3, Chrome 78.0.3904.70 (derzeit, aber nicht sicher, was es zu diesem Zeitpunkt war)
BingLi224

Wenn Sie Choco haben, können Sie "Choco Update Chromedriver"
Aus10

Antworten:


35

Ich bin heute auf dasselbe Problem gestoßen und habe diesen und andere Beiträge von Google gefunden. Ich denke, ich habe möglicherweise eine direktere Lösung als Änderung Ihres Codes. Die vorherige Antwort ist richtig, um die Nichtübereinstimmung in Versionen zu identifizieren.

Ich habe die vorgeschlagenen Lösungen ohne Erfolg ausprobiert. Ich habe festgestellt, dass die Versionen auf meinem Computer korrekt waren. Dieser Nichtübereinstimmungsfehler ist jedoch nicht auf die tatsächlich auf dem Computer installierten Versionen zurückzuführen, sondern der RSelenium-Code sucht standardmäßig nach der "neuesten" Version von Chrome / ChromeDriver. Siehe ?rsDriver()Hilfeseite für die Argumente.

Wenn Sie den Code binman::list_versions("chromedriver")wie in der Hilfedokumentation angegeben ausführen , können Sie die mit der Funktion kompatiblen Versionen identifizieren. In meinem Fall konnte ich den folgenden Code verwenden, um eine Verbindung herzustellen.

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

Sie sollten in der Lage sein, Ihre Chrome-Version mit dem chromever=Argument anzugeben . Ich musste jedoch die nächstgelegene Version verwenden (meine Chrome-Version war "73.0.3683.75").

Hoffe das hilft!


1
Die Antwort von CAD funktionierte für mich mit dem Vorbehalt Chrome: // settings / help zum Anzeigen und / oder Aktualisieren Ihrer Chrome-Browserversion. In meinem Fall habe ich auf Aktualisiert geklickt, um auf Version zu aktualisieren: 73.0.3683.86 (Official Build) (64-Bit)
user439089

Es scheint, dass Ihre Variante für meinen Fall besser geeignet ist. Aber ich kann nicht finden, wie ich dem Winkelmesser sagen soll, dass er eine definierte Version verwenden soll. Wie dieser chromever = "73.0.3683.68". In meinem Fall. Ich benutze eine niedrigere Version Chrom-Browser als Winkelmesser fragt. Dies ist mein Fall stackoverflow.com/questions/55984924/…
Victor Shelepen

2
Yo, Sir, Rock. Ich habe diesen Code leicht geändert, um immer die neueste Version zu verwenden mit: available.versions<-binman::list_versions("chromedriver") latest.version = available.versions$win32[length(available.versions)] Danke dafür!
StatsStudent

72

Für MacOS hat das Chromedriver-Upgrade den Trick gemacht:

brew cask upgrade chromedriver

Schön, das hat mich auf den richtigen Weg gebracht, außer dass ich chromedriver-betaeine spätere Version von Chrome erwartet habe. Also, was ich getan habe:brew cask uninstall chromedriver-beta; brew cask install chromedriver
Anthony bis

2
Dies funktioniert nur, wenn Sie den Chromedriver über Brew installiert haben. Ich hatte es über einen direkten Download installiert, lief also zuerst rm /usr/local/bin/chromedriverund bekam dann brew cask install chromedriverdie neueste Version. In jedem Fall war ein Upgrade des Chromedriver die Lösung.
Lucas

2
Dies sollte die akzeptierte Antwort sein, anstatt die, die vorschlägt, Chrom
Guillaume Petit

Dies hat mein Problem behoben.
negrotico19

62

Diese Fehlermeldung ...

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)

... impliziert, dass der ChromeDriver erwartet, dass die Chrome Browser- Version 74 ist .


Schnelle Installation des neuesten ChromeDriver

So installieren Sie die neueste Version von ChromeDriver :

  • Mac-Benutzer mit Homebrew :brew tap homebrew/cask && brew cask install chromedriver
  • Debian-basierte Linux-Distributionen :sudo apt-get install chromium-chromedriver
  • Windows-Benutzer mit installiertem Chocolatey :choco install chromedriver

Analyse

Ihr Hauptproblem ist die Inkompatibilität zwischen der Version der Binärdateien, die Sie wie folgt verwenden:

Unterstützt Chrome v74

  • Sie verwenden das aktuell veröffentlichte Chrome = 73.0

Es besteht also eine eindeutige Nichtübereinstimmung zwischen ChromeDriver v74.0.3729.6 und Chrome Browser v73.0


Lösung

  • Downgrade von ChromeDriver auf ChromeDriver v73.0.3683.68 .
  • Halten Sie die Chrome- Version auf Chrome v73- Ebene. ( gemäß ChromeDriver v73.0.3683.68 Versionshinweise )
  • Bereinigen Sie Ihren Projektarbeitsbereich über Ihre IDE und erstellen Sie Ihr Projekt nur mit den erforderlichen Abhängigkeiten neu.
  • Wenn Ihre Basis- Webclient- Version zu alt ist, deinstallieren Sie sie und installieren Sie eine aktuelle GA- und veröffentlichte Version von Web Client .
  • Führen Sie Ihre @Test.
  • Rufen Sie immer driver.quit()innerhalb der tearDown(){}Methode auf, um die WebDriver- und Web Client- Instanzen ordnungsgemäß zu schließen und zu zerstören .

Referenz

Eine relevante ausführliche Diskussion finden Sie in:


Ich habe ChromeDriver auf v73.0.3683.68 heruntergestuft, den Projektarbeitsbereich bereinigt und ihn nur mit den erforderlichen Abhängigkeiten neu erstellt. Es gibt mir jetzt eine andere Fehlermeldung, wenn ich renne rD <- rsDriver(), die endet in: [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

Ich entschuldige mich auch, wenn dies offensichtlich ist (ich versuche zum ersten Mal, so etwas zu tun), aber was ist der Web-Client und was ist ein GA? Was ist der @Test und kann ich ihn in RStudio ausführen?
Matthew Law

Web Client -> Chrome Browser , GA -> Allgemeine Verfügbarkeit , @Test -> Eine Anmerkung zur Identifizierung eines Tests mit JUnit / TestNG (Sie können dies einfach als Test betrachten )
DebanjanB

1
Dies ist nur eine allgemeine Antwort zur Behebung von Versionsfehlanpassungen bei der Verwendung Selenium. Diese Antwort bezieht sich nicht auf Roder RSeleniumüberhaupt nicht. Diese akzeptierte Antwort sollte die von @CAD unten sein.
Conrad-Mac

1
+1 für die Erklärung (lehre einen Mann das Fischen und all das). Ich habe meinen Chromedriver auf meine Chrome-Version (Chrome Help -> About - Version) aktualisiert und es wurde behoben.
HockeyJ

26

Das Aktualisieren der Google Chrome- Version auf 74 hat bei mir funktioniert.

Schritte: 1. Gehen Sie zu Hilfe -> Über Google Chrome -> Chrome sucht automatisch nach Updates (aktualisieren Sie Chrome auf die neueste Version).

Geben Sie hier die Bildbeschreibung ein


4
Das hat bei mir super funktioniert. Viel einfacher als die akzeptierte Lösung.
Anthony bis

22

Ich musste Winkelmesser neu installieren, damit das aktualisierte webdriver-managerModul abgerufen werden konnte. Gemäß dem Kommentar von @ Mark wird package-lock.jsondie Abhängigkeit möglicherweise gesperrt.

npm uninstall protractor
npm install --save-dev protractor

Stellen Sie dann sicher, dass Sie den maxChromedriverWert node_modules/protractor/node_modules/webdriver-manager/config.jsonnach der Neuinstallation einchecken, um sicherzustellen, dass er mit der gewünschten Chrome-Treiberversion übereinstimmt.


2
Danke, hat für mich gearbeitet. Ich hatte den neuesten Winkelmesser (5.4.2) installiert, aber der abhängige Webdriver-Manager steckte am 12.1.4 fest. Das Deinstallieren und Neuinstallieren von Winkelmesser gab mir einen neueren Webdriver-Manager - 12.1.7
Kev

Danke, hat auch für mich gearbeitet. Ich hatte das gleiche Problem wie Kev im vorherigen Kommentar beschrieben. ^
Toms Tumshais

1
Das war das Problem für mich. Das package-lock.jsonsperrte die Abhängigkeit. Es ist kein Fehler, sondern muss nur die Abhängigkeiten aktualisieren.
Mark

2
Könnten Sie Ihre Antwort aktualisieren, um die von @Mark bereitgestellten Informationen aufzunehmen? Es kann entscheidend sein (es war das eigentliche Problem, das ich hatte)
Lealceldeiro

8

Ich habe mich heute mit diesem Problem befasst und das Upgrade meines Webdrivermanger hat es für mich gelöst (meine vorherige Version war 3.0.0):

<dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>webdrivermanager</artifactId>
    <version>3.3.0</version>
    <scope>test</scope>
</dependency>

1
Ich habe das gleiche Problem durch ein Upgrade auf die Version 3.3.0 behoben. Vielen Dank
Rajesh Om

1
Ich war auf Version 1.x. Das Update auf 3.3.0 hat es auch für mich behoben.
ArtOfWarfare

Sie müssen die neueste Version verwenden, nämlich <Version> 3.6.2 </ Version>.
Neyomal

Ich denke, diese Antwort würde erheblich verbessert, wenn Schritte aufgenommen würden, wie man seinen "Webdrivermanager" aktualisieren könnte. Alles, was Sie hier getan haben, ist XML, ohne viel Erklärung. Würde es Ihnen etwas ausmachen, diese Antwort mit einigen zusätzlichen Details zu aktualisieren? Vielen Dank.
StatsStudent

7

Ich bin gerade auf die gleiche Art von Fehler gestoßen RSelenium::rsDriver(), als ich die Standardeinstellung verwendet habe chromever = "latest", was zu dem fehlgeschlagenen Versuch führte, chromedriver 75.0.3770.8mit der neuesten zu kombinieren google-chrome-stable 74.0.3729.157:

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

Da dies offensichtlich ein wiederkehrendes und ziemlich ärgerliches Problem zu sein scheint, habe ich mir die folgende Problemumgehung ausgedacht, um immer die neueste kompatible ChromeDriver-Version zu verwenden :

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())

Der obige Code wird nur unter Linux getestet und verwendet einige Tidyverse- Pakete (installieren Sie diese vorher oder schreiben Sie ihn in Base R neu). Bei anderen Betriebssystemen müssen Sie es möglicherweise etwas anpassen, insbesondere durch command = "google-chrome-stable"den systemspezifischen Befehl ersetzen , um Google Chrome zu starten:

  • Auf macOS sollte es genug sein , ersetzen command = "google-chrome-stable"mit command = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome".

  • Unter Windows verhindert ein plattformspezifischer Fehler, dass wir die Google Chrome-Binärdatei direkt aufrufen, um die Versionsnummer zu erhalten. Gehen Sie stattdessen wie folgt vor:

    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())

Grundsätzlich stellt der Code nur sicher, dass die neueste ChromeDriver-Version, die mit der Versionsnummer des Major-Minor-Patches des stabilen Google Chrome-Browsers des Systems übereinstimmt, als chromeverArgument übergeben wird. Dieses Verfahren sollte dem offiziellen ChromeDriver-Versionsschema entsprechen . Zitat:

  • ChromeDriver verwendet dasselbe Versionsnummernschema wie Chrome (...)
  • Jede Version von ChromeDriver unterstützt Chrome mit übereinstimmenden Haupt-, Neben- und Build-Versionsnummern. Beispielsweise unterstützt ChromeDriver 73.0.3683.20 alle Chrome-Versionen, die mit 73.0.3683 beginnen.

3
Der Held, den wir brauchen. Vielen Dank! PS: Ich habe den Windows-Code so bearbeitet, dass er für zukünftige Leser einfacher ist
Tung,

2
👍 Ich habe es gerade richtig integriert, seit Sie es erfolgreich getestet haben!
Salim B

3

Ich hatte wirklich Probleme mit dieser Nichtübereinstimmung zwischen ChromeDriver v74.0.3729.6 und dem Chrome Browser v73.0. Ich habe endlich einen Weg gefunden, ChromeDriver auf eine frühere Version zu bringen.

  1. Kopieren Sie unter Chrome> Über Google Chrome die Versionsnummer mit Ausnahme der letzten Gruppe. Zum Beispiel 72.0.3626.

  2. Fügen Sie diese Version am Ende dieser URL ein und besuchen Sie sie. Es wird mit einer Version zurückkommen, die Sie kopieren sollten. https://chromedriver.storage.googleapis.com/LATEST_RELEASE_

  3. Zurück in der Befehlszeile ausführen bundle exec chromedriver-update <copied version>


Ich habe die Lösung gefunden und gelehrt - es muss schon eine Antwort wie diese geben :)
Aleks


3

Travis CI Alternative

Eine andere Antwort, da Francesco Borzi bei mir nicht funktioniert hat.

Fügen Sie dies Ihrer travis.yml hinzu:

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

Vielen Dank und Dank an Tagliala auf Github:

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


2

Diese Lösung hat bei mir funktioniert

  1. Stellen Sie sicher, dass Sie R 3.5.3 oder höher verwenden
  2. driver <- rsDriver(browser=c("chrome"), chromever="73.0.3683.68")

2

Chrome muss nicht mehr heruntergestuft werden. Wenn dieser Fehler angezeigt wird, ist es nur noch Zeit, ihn webdriver-manager updateerneut auszuführen


2

Ist auf dieses Problem gestoßen und konnte es in zwei Hauptschritten lösen:

1 - Update auf den neuesten Chromedriver über Homebrew Cli

brew cask upgrade chromedriver

2 - Update auf die neueste Version über die Chrome-Benutzeroberfläche

chrome: // settings / help oder cmd+ ,dann am Ende die Hilfe anheften (nach Wahl)

Von dort aus sollten Sie auf der Seite "Über Chrome" landen. Hier müssen Sie überprüfen, ob Sie die neueste und beste Version verwenden (das Problem, auf das ich gestoßen bin, ist auf eine Nichtübereinstimmung in der CLI mit der aktuellen Chrome-Version zurückzuführen).

Wenn Sie den Fehler erhalten, wird eine update & relaunchprimäre Aktionsschaltfläche angezeigt.

Nach dem "Relaunch" von Chrome wird es nun die neueste Version haben, die zu Ihrem Cli passt

Beispiel:

Google Chrome is up to date
Version 80.0.3987.87 (Official Build) (64-bit)

2

Gehen Sie einfach zu dieser URL im Chrome-Browser

 chrome://settings/help  

und Chrome sucht automatisch nach Updates (Chrome auf die neueste Version aktualisieren)

Fertig :)


1

Ich habe den gleichen Fehler erhalten, wenn ich ein Roboter-Framework (Selenium-basiertes Framework) in einer Docker- Instanz verwende. Der Grund dafür war, dass Docker google-chrome-stable_current_amd64.debfür Chrome zwischengespeichert verwendete, aber den neuesten Chrome-Treiber installiert hat, der eine spätere Version war.

Dann habe ich unten Befehl verwendet und Fehler behoben.

docker-compose build --no-cache

Hoffe das hilft jemandem.


1

Ich hatte den gleichen Fehler:

Sitzung nicht erstellt: Diese Version von ChromeDriver unterstützt nur Chrome Version 75

...

Treiberinfo: driver.version: ChromeDriver

Wir führen die Tests von einem Computer aus, der keine echte Benutzeroberfläche hat, daher musste ich über eine Befehlszeile (CLI) arbeiten.

Ich habe zunächst die aktuelle Version von Chrome erkannt, die auf dem Linux-Computer installiert war:

$> google-chrome --version

Und bekam diese Antwort:

Google Chrome 74.0.3729.169

Also habe ich die Chrome-Version folgendermaßen aktualisiert:

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

Und nachdem ich die Version noch einmal überprüft hatte, bekam ich Folgendes:

Google Chrome 75.0.3770.100

Dann konnten die Selentests reibungslos ablaufen.


Dies gilt, wenn der Chrome-Browser über repo / ppa installiert wurde und sich nicht selbst aktualisieren kann
prusswan

1

Aktualisiere einfach den Winkelmesser:

npm install protractor @ latest --save-dev


1

Sie können die genaue Version Ihrer Chrome-Installation folgendermaßen angeben:

webdriver-manager update --versions.chrome 73.0.3683.75

Möglicherweise müssen Sie webdriver-manager cleanim Falle eines Downgrades eine erste durchführen.


1
$ which chromedriver
/usr/local/bin/chromedriver
$ chromedriver --version
ChromeDriver 78.0.3904.105

Ich habe eine Zip - Datei von https://chromedriver.chromium.org/downloads Er sagt : „Wenn Sie Chrome - Version 79 verwenden, laden Sie bitte ChromeDriver 79.0.3945.36“ und ich wurde mit Chrome - Version 79 (I geprüft chrome://settings/help) Offenbar ist die Fehler für mich war "Diese Version von ChromeDriver unterstützt nur Chrome Version 78"

Und dann habe ich auf die Zip-Datei geklickt und diese "chromedriver" -Datei in ein /usr/local/bin/Verzeichnis verschoben . Das hat das Problem gelöst.

$ which chromedriver
$ chromedriver --version
ChromeDriver 79.0.3945.36

0

Es ist nützlich für Linux-Leute. Mein Problem war trivial, ich habe einen Chrom-Browser verwendet. Ich habe Chrome installiert und alle Probleme wurden behoben. Es könnte mit Chrom funktionieren, aber mit zusätzlichen Aktionen. Ich habe keinen Erfolg erhalten. Ich könnte eine benötigte Treiberversion auf Winkelmesserkonfiguration einstellen. Es wurde die neueste verwendet. Ich brauchte ein Downgrade.


0

Ich habe fast die gleichen Probleme wie diese. Die Probleme treten in der Pipeline auf, wenn ich meinen Selentest ausführe, der ein Chromedriver-Paket benötigt, um den e2e-Test auszuführen.

Meine Fehlererstellungspipeline

Das Problem liegt nur daran, dass in der Pipeline (in meinem Fall) die Chrome-Version 73 vorhanden ist und mein Chromedriver-Paket auf Version 74 installiert ist.

Schließlich gibt es zwei einfache Lösungen:

  1. Herabstufen Sie Ihr Chrom
  2. Downgraden Sie Ihre Chromedriver-Paketversion. In meinem Fall muss ich den Chromedriver installieren, bevor ich den Selentest wie unten gezeigt ausführe, da ich in der Pipeline laufe.

    - script: npm install chromedriver@73.0.0 --chromedriver-force-download displayName: 'Install Chrome'


Ich habe das gleiche Problem. Woher weiß ich die Chrome-Version auf dem Jenkins-Knoten?
Chandresh Mishra

So installieren Sie ein Chrome auf dem Knoten als Teil der Build-Pipeline, wenn kein Chrome vorhanden ist
Chandresh Mishra

Um ein Chrome als Teil der Build-Pipeline zu installieren, können Sie einfach das oben angegebene Task-Skript hinzufügen.
Gadani

0

Verwenden von Visual Studio

Ich konnte die Versionsinkongruenz nicht beheben, indem ich bei Verwendung von Visual Studio einer der Antworten folgte, sondern einfach die Nuget-Pakete Selenium.WebDriver und Selenium.WebDriver.ChromeDriver auf die neuesten Versionen aktualisierte.

Ich habe Chrome v78 verwendet, und ein Upgrade von chromedriver auf v78 hat immer noch den Inkompatibilitätsfehler verursacht. Die Antwort von CAD führte mich zur Lösung.


0

Das gleiche Problem ist mir heute passiert.

Meine Lösung:

Laden Sie die neueste stabile Version von chromedriver herunter: https://sites.google.com/a/chromium.org/chromedriver/

Aktualisieren Sie den Chrome-Treiber in Ihrem Selenium-Ordner. Dies ist etwas schwierig, da es sich in einem versteckten Ordner auf Ihrem PC namens AppData befindet. So habe ich es auf meinem Computer gemacht (Windows 7):

C:> Benutzer> Ihr Benutzer> \ AppData (Sie müssen dies in das Ordnerpfadfeld schreiben, da es sich um einen versteckten Ordner handelt)> Lokal (dies ist der Ordnername auf Portugiesisch, möglicherweise hat er einen anderen Namen für Sie) > SeleniumBasic

Dort finden Sie die Anwendung chromedriver. Benennen Sie es einfach um (falls es nicht funktioniert, möchten Sie die ältere Version haben) und fügen Sie dann die neueste Version ein.


0

Ich hatte vor kurzem das gleiche Problem. Das war mein Fehler:

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

Dieser Fix hat bei mir funktioniert:

  • Stellen Sie sicher, dass keine chromedriver.exe-Prozesse ausgeführt werden (bei Bedarf alle beenden, z. B. über den Task-Manager).
  • Geh zu bin - Ordner und löschen chromedriver.exe Datei von dort (in meinem Fall war es: [project_folder]\bin\Debug\netcoreapp2.1)

0

Stellen Sie sicher, dass Sie die neueste Version von Webdriver-Manager haben. Sie können das gleiche mit installierennpm i webdriver-manager@latest --save

Führen Sie dann Folgendes aus

command.webdriver-manager update

0

Ich hatte das gleiche Problem und löste es, indem ich einfach eine chromedriverDatei für eine frühere Version von Chrome herunterlud . Ich habe festgestellt, dass Version 79 von Chrome mit der aktuellen Version von Selenium kompatibel ist.

Ich habe es dann in einem angegebenen Pfad gespeichert und diesen Pfad mit meinem verknüpft webdriver.

Die genauen Schritte sind in diesem Link angegeben: http://chromedriver.chromium.org/downloads


0

Ich hatte ein ähnliches Problem, gerade den Webdriver Manager auf dem Mac aktualisiert. Verwenden Sie dieses im Terminal, um den Webdriver Manager zu aktualisieren.

 sudo webdriver-manager update

0
  1. Laden Sie die aktuelle stabile Release-Version Ihres Chrome herunter und installieren Sie sie (um Ihre Google Chrome-Version zu überprüfen, gehen Sie zu Hilfe> über Google Chrome und versuchen Sie, diese Version auf Ihrem lokalen Computer zu installieren.

Zum Herunterladen der Google Chrome-Version besuchen Sie die Website = chromedriver.chromium.org


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.