सत्र नहीं बनाया गया: ChromeDriver का यह संस्करण केवल क्रोमियम क्रोम क्रोम के साथ क्रोमेन के साथ 74 संस्करण का समर्थन करता है


164

मैं rsDriver फ़ंक्शन का उपयोग करके RSelenium चलाने की कोशिश कर रहा हूं, लेकिन जब मैं चलता 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.

त्रुटि संदेश यह कहता प्रतीत होता है कि मुझे क्रोम संस्करण 74.0.3729.6 की आवश्यकता है, लेकिन जब मैं क्रोम की सेटिंग में देखता हूं, तो यह बताता है कि मैं नवीनतम स्थिर संस्करण (73.0.3683.75) चला रहा हूं। आगे जाने पर, 74.0.3729.6 क्रोम का एक पूर्व-रिलीज़ देव संस्करण है: क्या मुझे आरसेलेनियम के साथ क्रोमड्राइवर का उपयोग करने के लिए इसे स्थापित करने की आवश्यकता है?

मैं क्रोम का उपयोग करने के विचार के लिए तैयार नहीं हूं, लेकिन मैं फ़ायरफ़ॉक्स का उपयोग करने के लिए rsDriver प्राप्त करने में सक्षम नहीं हूं: जब मैं निर्दिष्ट करता हूं browser = "firefox", तो rsDriver मुझे Chrome के मेरे संस्करण का समर्थन नहीं करने के लिए ChromeDriver के बारे में एक ही त्रुटि संदेश देता है।

मेरी सत्र जानकारी है:

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
इस पुराने संस्करण को डाउनलोड करें। ठीक काम करता है! >> ---> chromedriver.storage.googleapis.com/index.html?path=2.46
नेल्सन कार्वाल्हो

1
मेरे मामले में, अगर त्रुटि कहती है कि यह केवल संस्करण 76 का समर्थन करता है, तो मैं क्रोम 76.xxx का उपयोग नहीं कर सकता। अगर मैं 75.xxx पर डाउनग्रेड करता हूं, तो यह कहता है कि यह केवल संस्करण 75 का समर्थन करता है। यदि मैं नवीनतम संस्करण (78 वर्तमान में) की कोशिश करता
हूं

@ BingLi224 सेलेनियम और पायथन के किस संस्करण का उपयोग किया जाता है? मैंने उसी मुद्दे को मारा, हालांकि क्रोम का संस्करण 78.0.3904.70 है
zzxwill

@zzxwill सेलेनियम 3.141.0, पायथन 3.7.3, क्रोम 78.0.3904.70 (वर्तमान में, लेकिन यह निश्चित नहीं था कि यह उस समय क्या था)
BingLi224

अगर आपके पास चोको है तो आप "चोको अपडेट क्रोमेड्रिवर" कर सकते हैं
Aus10

जवाबों:


36

मुझे आज उसी मुद्दे का सामना करना पड़ा और मुझे यह पोस्ट और अन्य Google से मिली। मुझे लगता है कि आपके कोड के संशोधन के रूप में मेरे पास अधिक प्रत्यक्ष समाधान हो सकता है। पिछले उत्तर संस्करणों में बेमेल की पहचान करने में सही है।

मैंने बिना किसी लाभ के प्रस्तावित समाधान की कोशिश की। मैंने पाया कि मेरे कंप्यूटर पर संस्करण सही थे। हालाँकि, यह बेमेल त्रुटि कंप्यूटर पर इंस्टॉल किए गए वास्तविक संस्करणों से उत्पन्न नहीं हुई थी, बल्कि RSelenium कोड डिफ़ॉल्ट तर्क द्वारा Chrome / ChromeDriver के "नवीनतम" संस्करण की मांग कर रहा है। ?rsDriver()तर्कों के लिए सहायता पृष्ठ देखें ।

यदि आप binman::list_versions("chromedriver")मदद प्रलेखन में निर्दिष्ट कोड चलाते हैं, तो आप फ़ंक्शन के साथ संगत संस्करणों की पहचान कर सकते हैं। मेरे मामले में, मैं कनेक्शन स्थापित करने के लिए निम्न कोड का उपयोग करने में सक्षम था।

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

आपको अपने chromever=तर्क के साथ Chrome का संस्करण निर्दिष्ट करने में सक्षम होना चाहिए । मुझे निकटतम संस्करण का उपयोग करना था, हालांकि (मेरा क्रोम संस्करण "73.0.3683.75" था)।

उम्मीद है की यह मदद करेगा!


1
सीएडी के जवाब ने मेरे लिए कैविएट क्रोम के साथ काम किया: // सेटिंग्स / अपने क्रोम ब्राउज़र संस्करण को देखने और / या अपडेट करने में मदद करें। मेरे मामले में मैंने संस्करण को अद्यतन करने के लिए अद्यतन पर क्लिक किया: 73.0.3683.86 (आधिकारिक बिल्ड) (64-बिट)
user439089

ऐसा लगता है कि आपका संस्करण मेरे मामले के लिए अधिक उपयुक्त है। लेकिन मुझे पता नहीं है कि डिफ्रेक्टर को परिभाषित संस्करण का उपयोग करने के लिए कैसे कहा जाए। इस क्रोमिएवर की तरह = "73.0.3683.68"। मेरे मामले में। मैं कम संस्करण क्रोमियम-ब्राउज़र का उपयोग करता हूं जो प्रोट्रैक्टर पूछता है। यह मेरा मामला है stackoverflow.com/questions/55984924/…
विक्टर शेलीन ने

2
यो, सर, रॉक। मैंने हमेशा नवीनतम संस्करण का उपयोग करने के लिए इस कोड को थोड़ा संशोधित किया: इसके लिए available.versions<-binman::list_versions("chromedriver") latest.version = available.versions$win32[length(available.versions)] धन्यवाद!
स्टेट्सटूडेंट

72

MacOS क्रोमेड्रिवर अपग्रेड के लिए किया है ट्रिक:

brew cask upgrade chromedriver

अच्छा, यह मुझे सही ट्रैक पर मिला, सिवाय इसके कि मैं उपयोग कर रहा था chromedriver-beta, जो क्रोम के बाद के संस्करण की उम्मीद कर रहा था । तो मैंने क्या किया:brew cask uninstall chromedriver-beta; brew cask install chromedriver
एंथनी टू

2
यह केवल तभी काम करता है जब आप ब्रू के माध्यम से क्रोमेड्रिवर स्थापित करते हैं। मैंने इसे एक डायरेक्ट डाउनलोड के माध्यम से स्थापित किया था, इसलिए पहले भाग गया rm /usr/local/bin/chromedriverऔर फिर brew cask install chromedriverनवीनतम संस्करण प्राप्त करने के लिए। किसी भी मामले में, क्रोमेड्रिवर को अपग्रेड करना समाधान था।
लुकास

2
क्रोम को डाउनग्रेड करने के सुझाव के बजाय यह स्वीकार किया गया उत्तर होना चाहिए
Guillaume Petit

इससे मेरा मुद्दा ठीक हो गया।
नेग्रोटिको 19

62

यह त्रुटि संदेश ...

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)

... तात्पर्य है कि क्रोमड्राइवर को उम्मीद है कि क्रोम ब्राउज़र संस्करण 74 होगा


नवीनतम ChromeDriver की त्वरित स्थापना

ChromeDriver का नवीनतम संस्करण स्थापित करने के लिए आप इसका उपयोग कर सकते हैं:

  • होमब्रे के साथ मैक उपयोगकर्ता :brew tap homebrew/cask && brew cask install chromedriver
  • डेबियन आधारित लिनक्स डिस्ट्रोस :sudo apt-get install chromium-chromedriver
  • चॉकलेट के साथ विंडोज उपयोगकर्ता स्थापित :choco install chromedriver

विश्लेषण

आपका मुख्य मुद्दा बायनेरिज़ के संस्करण के बीच असंगतता है जिसे आप निम्नानुसार उपयोग कर रहे हैं:

Chrome v74 का समर्थन करता है

  • आप वर्तमान में जारी क्रोम = 73.0 का उपयोग कर रहे हैं

तो क्रोमड्राइवर v74.0.3729.6 और क्रोम ब्राउज़र v73.0 के बीच एक स्पष्ट बेमेल है


उपाय

  • ChromeDriver से डाउनग्रेड ChromeDriver v73.0.3683.68 स्तर।
  • क्रोम संस्करण को क्रोम v73 के स्तर पर रखें । ( ChromeDriver v73.0.3683.68 जारी नोटों के अनुसार )
  • अपने आईडीई के माध्यम से अपने प्रोजेक्ट कार्यक्षेत्र को साफ करें और केवल आवश्यक निर्भरता के साथ अपनी परियोजना का पुनर्निर्माण करें।
  • यदि आपका आधार वेब क्लाइंट संस्करण बहुत पुराना है, तो इसे अनइंस्टॉल करें और वेब क्लाइंट का हालिया GA और रिलीज़ किया गया संस्करण स्थापित करें ।
  • अपने को निष्पादित करें @Test
  • हमेशा WebDriver और Web Client इंस्टेंस को शालीनतापूर्वक बंद करने और नष्ट करने की विधि के driver.quit()भीतर आह्वान करें ।tearDown(){}

संदर्भ

आप एक प्रासंगिक विस्तृत चर्चा पा सकते हैं:


मैंने ChromeDriver को v73.0.3683.68 पर डाउनग्रेड किया है, प्रोजेक्ट कार्यक्षेत्र को साफ़ किया है, और इसे केवल आवश्यक निर्भरता के साथ फिर से बनाया है। यह अब मुझे एक अलग त्रुटि संदेश देता है जब मैं चलाता हूं 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.
मैथ्यू लॉ

यदि यह स्पष्ट है, तो क्षमायाचना (यह मेरा पहली बार ऐसा कुछ भी करने की कोशिश कर रहा है), लेकिन वेब क्लाइंट क्या है और जीए क्या है? इसके अतिरिक्त, क्या है @Test और क्या मैं इसे RStudio के भीतर चला सकता हूं?
मैथ्यू लॉ

वेब क्लाइंट -> क्रोम ब्राउज़र , जीए -> जनरल Avaiibility , @Test -> एक पहचान के लिए इस्तेमाल एक एनोटेशन परीक्षण का उपयोग कर JUnit / TestNG (आप बस के रूप में विचार कर सकते हैं परीक्षण )
DebanjanB

1
यह उपयोग करते समय संस्करण बेमेल का निवारण कैसे करें के बारे में एक सामान्य उत्तर है Selenium। इस उत्तर का उल्लेख नहीं करता Rया RSeleniumसब पर। यह स्वीकृत उत्तर नीचे @CAD द्वारा एक होना चाहिए।
कॉनरेड-मैक

1
स्पष्टीकरण के लिए +1 (एक आदमी को मछली और वह सब सिखाएं)। मैंने अपने क्रोम संस्करण (क्रोम हेल्प -> अबाउट - वर्जन) से मिलान करने के लिए अपने क्रोमेड्रिवर को अपग्रेड किया और यह तय हो गया।
हॉकी

26

Google Chrome संस्करण को 74 में अपडेट करना मेरे लिए काम किया।

चरण: 1. सहायता पर जाएं -> Google Chrome के बारे में -> Chrome स्वचालित रूप से अपडेट की तलाश करेगा (Chrome को नवीनतम संस्करण में अपडेट करें)

यहाँ छवि विवरण दर्ज करें


4
यह मेरे लिए बहुत अच्छा काम किया। स्वीकृत समाधान की तुलना में बहुत आसान है।
एंथनी

22

अपडेट किए गए webdriver-managerमॉड्यूल को खींचने के लिए मुझे इसके लिए प्रोट्रैक्टर को फिर से स्थापित करना पड़ा । इसके अलावा, @ मार्क की टिप्पणी के अनुसार, package-lock.jsonनिर्भरता लॉक हो सकती है।

npm uninstall protractor
npm install --save-dev protractor

फिर, यह सुनिश्चित करने के लिए maxChromedriverमान की जाँच node_modules/protractor/node_modules/webdriver-manager/config.jsonकरें कि वांछित क्रोम ड्राइवर संस्करण से मेल खाने के बाद उसे पुन: स्थापित करें।


2
धन्यवाद, मेरे लिए काम किया। मेरे पास नवीनतम प्रोट्रैक्टर (5.4.2) स्थापित था लेकिन आश्रित वेबड्राइवर-प्रबंधक 12.1.4 पर अटक गया था। स्थापना रद्द करने और पुनः स्थापित करने के लिए मुझे एक नए वेबड्राइवर-प्रबंधक दिए गए - 12.1.7
केव

धन्यवाद, मेरे लिए भी काम किया। मेरे पास वही मुद्दा था जो केव ने पिछली टिप्पणी में वर्णित किया था। ^
टॉमस टॉम्स

1
यह मेरे लिए मुद्दा था। package-lock.jsonनिर्भरता ताला लगा था। यह बग नहीं है, बस निर्भरता को अद्यतन करने की आवश्यकता है।
मार्क

2
क्या आप @Mark द्वारा दी गई जानकारी को शामिल करने के लिए अपना जवाब अपडेट कर सकते हैं? यह महत्वपूर्ण हो सकता है (यह वास्तविक मुद्दा मेरे पास था)
lealceldeiro

8

मैंने आज इस मुद्दे को निपटाया और अपने वेबड्राइवरमैंगर को अपग्रेड करते हुए इसे मेरे लिए हल किया (मेरा पिछला संस्करण 3.0.0 था):

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

1
मैंने उसी मुद्दे को 3.3.0 संस्करण में अपग्रेड करके हल किया है, धन्यवाद
राजेश ओम

1
मैं संस्करण १.x पर था। 3.3.0 में अद्यतन करना मेरे लिए भी तय है।
आर्टऑफवर्फ

आपको नवीनतम संस्करण का उपयोग करना होगा जो <संस्करण> 3.6.2 </ संस्करण> है।
नेयूमल

मुझे लगता है कि इस उत्तर को बहुत हद तक सुधार किया जाएगा, जिसमें यह भी शामिल हो सकता है कि कोई व्यक्ति अपने "वेबड्राइवरमैनेजर" को अपग्रेड करने के बारे में कैसे जा सकता है। आपके द्वारा यहां किया गया सभी स्पष्टीकरण के तरीके के बिना कुछ XML प्रदान किया गया है। क्या आप कुछ अतिरिक्त विवरणों के साथ इस उत्तर को अपडेट करना चाहेंगे? धन्यवाद।
स्टैट्सस्टूडेंट

7

मैं बस एक ही तरह की त्रुटि में RSelenium::rsDriver()डिफ़ॉल्ट chromever = "latest"सेटिंग का उपयोग करके भाग गया, जिसके परिणामस्वरूप chromedriver 75.0.3770.8नवीनतम के साथ संयोजन करने में विफल प्रयास हुआ google-chrome-stable 74.0.3729.157:

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

चूंकि यह स्पष्ट रूप से एक आवर्ती और बहुत कष्टप्रद मुद्दा लगता है, इसलिए मैं हमेशा नवीनतम संगत 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())

उपरोक्त कोड केवल लिनक्स के तहत परीक्षण किया गया है और कुछ स्पष्ट पैकेजों का उपयोग करता है (उन्हें पहले से स्थापित करें या इसे आधार आर में फिर से लिखें )। अन्य ऑपरेटिंग सिस्टम के लिए आपको इसे थोड़ा अनुकूलित करना पड़ सकता है, विशेष रूप command = "google-chrome-stable"से Google Chrome लॉन्च करने के लिए सिस्टम-विशिष्ट कमांड के साथ प्रतिस्थापित करें:

  • पर MacOS इसे बदलना करने के लिए पर्याप्त होना चाहिए command = "google-chrome-stable"के साथ command = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

  • विंडोज पर एक प्लैटफॉर्म-विशिष्ट बग हमें इसके वर्जन नंबर प्राप्त करने के लिए सीधे Google क्रोम बाइनरी को कॉल करने से रोकता है। इसके बजाय निम्नलिखित करें:

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

मूल रूप से, कोड सिस्टम के स्थिर Google क्रोम ब्राउज़र के प्रमुख-मामूली-पैच संस्करण संख्या से मेल खाते नवीनतम क्रोमड्राइवर संस्करण को सुनिश्चित करता है जिसे chromeverतर्क के रूप में पारित किया जाता है। इस प्रक्रिया को आधिकारिक क्रोमड्राइवर संस्करण योजना का पालन करना चाहिए । उद्धरण:

  • ChromeDriver Chrome के समान संस्करण संख्या योजना का उपयोग करता है (...)
  • ChromeDriver का प्रत्येक संस्करण प्रमुख, लघु और मिलान संस्करण संख्याओं के साथ Chrome का समर्थन करता है। उदाहरण के लिए, क्रोमड्राइवर 73.0.3683.20 सभी क्रोम संस्करणों का समर्थन करता है जो 73.0.3683 से शुरू होते हैं।

3
हमें जो नायक चाहिए। धन्यवाद! पुनश्च: मैंने भविष्य के पाठकों के लिए इसे आसान बनाने के लिए विंडोज कोड को शामिल करने के लिए संपादन किया
टंग

2
Cc मैंने इसे ठीक से एकीकृत किया है क्योंकि आपने सफलतापूर्वक इसका परीक्षण किया है!
सलीम बी

3

मैं वास्तव में ChromeDriver v74.0.3729.6 और Chrome Browser v73.0 के बीच इस बेमेल संबंध से जूझ रहा था। मुझे अंतत: ChromeDriver को पुराने संस्करण में लाने का एक तरीका मिल गया,

  1. Chrome> Google Chrome के बारे में, अंतिम समूह को छोड़कर संस्करण संख्या की प्रतिलिपि बनाएँ। उदाहरण के लिए, 72.0.3626।

  2. इस url के अंत में उस संस्करण को चिपकाएँ और उस पर जाएँ। यह एक संस्करण के साथ वापस आ जाएगा, जिसे आपको कॉपी करना चाहिए। https://chromedriver.storage.googleapis.com/LATEST_RELEASE_

  3. वापस कमांड लाइन में, भागो bundle exec chromedriver-update <copied version>


मैं समाधान झरना, और सिखाया - पहले से ही इस तरह एक जवाब :) वहाँ होना चाहिए
Aleks

3

ट्रैविस सीआई

मैं ट्रैविस में एक ही मुद्दा था और जोड़कर हल किया गया था:

addons:
  chrome: stable

मेरी .travis.ymlफाइल पर।


यदि यह आपके लिए काम नहीं करता है, तो इसे आज़माएं: stackoverflow.com/a/57577404/2441263
lucas

3

ट्रैविस सीआई विकल्प

एक और जवाब जब से फ्रांसेस्को बोर्ज़ी ने मेरे लिए काम नहीं किया है।

इसे अपने 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

जीथब पर टैगला को बहुत धन्यवाद और श्रेय:

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


2

इस समाधान ने मेरे लिए काम किया

  1. सुनिश्चित करें कि आप R 3.5.3 या अधिक का उपयोग कर रहे हैं
  2. driver <- rsDriver(browser=c("chrome"), chromever="73.0.3683.68")

2

अब क्रोम को डाउनग्रेड करने की कोई आवश्यकता नहीं है, जब आपको यह त्रुटि मिलती है तो इसका मतलब है कि यह webdriver-manager updateफिर से चलने का समय है


2

इस मुद्दे में भाग गया और 2 मुख्य चरणों को हल करने में सक्षम था:

1 - होमब्रेव क्ली के माध्यम से नवीनतम क्रोमेड्रिवर को अपडेट करें

brew cask upgrade chromedriver

2 - क्रोम GUI के माध्यम से नवीनतम सत्यापन के लिए अद्यतन करें

क्रोम: // सेटिंग्स / मदद या cmd+ ,फिर अंत में मदद पर निपटना (आपकी पसंद)

वहां से आपको अबाउट क्रोम पेज पर उतरना चाहिए। यहां आपको यह सत्यापित करने की आवश्यकता होगी कि आप नवीनतम और सबसे बड़े संस्करण पर हैं (समस्या मैं सीएम बनाम मौजूदा क्रोम संस्करण में बेमेल से चल रही थी)

यदि आपको त्रुटि मिल रही है, तो आप एक update & relaunchप्राथमिक क्रिया बटन देखेंगे ।

क्रोम "relaunches" के बाद अब यह आपके cli से मेल खाते हुए सबसे नया संस्करण होगा

उदाहरण:

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

2

बस क्रोम ब्राउज़र में इस यूआरएल पर जाएं

 chrome://settings/help  

और क्रोम स्वचालित रूप से अपडेट की तलाश करेगा (क्रोम को नवीनतम संस्करण में अपडेट करें)

समाप्त :)


1

मुझे एक ही त्रुटि मिली जब मैं एक डॉकर उदाहरण में रोबोट ढांचे (सेलेनियम आधारित रूपरेखा) का उपयोग कर रहा हूं । कारण यह था कि डॉक google-chrome-stable_current_amd64.debक्रोम के लिए कैश्ड का उपयोग कर रहा था लेकिन इसने नवीनतम क्रोम ड्राइवर स्थापित किया है जो बाद का संस्करण था।

फिर मैंने कमांड और एरर के नीचे प्रयोग किया।

docker-compose build --no-cache

आशा है कि यह किसी की मदद करता है।


1

मैं उसी त्रुटि का सामना कर रहा था:

सत्र नहीं बनाया गया: ChromeDriver का यह संस्करण केवल Chrome संस्करण 75 का समर्थन करता है

...

चालक की जानकारी: driver.version: ChromeDriver

हम एक ऐसे कंप्यूटर से परीक्षण चला रहे हैं जिसमें कोई वास्तविक UI नहीं है, इसलिए मुझे कमांड लाइन (सीएलआई) के माध्यम से काम करना था।

मैंने Chrome के वर्तमान संस्करण का पता लगाकर शुरुआत की थी जो लिनक्स कंप्यूटर पर स्थापित था:

$> google-chrome --version

और यह प्रतिक्रिया मिली:

Google Chrome 74.0.3729.169

तो फिर मैंने उस तरह क्रोम संस्करण को अपडेट किया:

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

और फिर से संस्करण की जाँच के बाद मुझे यह मिला:

Google Chrome 75.0.3770.100

तब सेलेनियम परीक्षण आसानी से चलने में सक्षम थे।


यह तब लागू होता है जब क्रोम ब्राउज़र रेपो /
ppa के

1

बस अद्यतन करने वाला यंत्र:

npm स्थापित प्रोट्रेक्टर @ नवीनतम-save-dev


1

आप अपने Chrome इंस्टॉलेशन के सटीक संस्करण को इस तरह निर्दिष्ट कर सकते हैं:

webdriver-manager update --versions.chrome 73.0.3683.75

हो सकता है कि आपको webdriver-manager cleanएक डाउनग्रेड के मामले में पहला करने की आवश्यकता हो ।


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

मैंने https://chromedriver.chromium.org/downloads से एक ज़िप फ़ाइल डाउनलोड की है। यह कहता है "यदि आप Chrome संस्करण 79 का उपयोग कर रहे हैं, तो कृपया ChromeDriver 79.0.3945.36 डाउनलोड करें" और मैं Chrome संस्करण 79 का उपयोग कर रहा था। (मैंने जाँच की chrome://settings/help) मेरे लिए त्रुटि "ChromeDriver का यह संस्करण केवल Chrome संस्करण 78 का समर्थन करता है"

और फिर मैंने ज़िप फ़ाइल पर क्लिक किया और उस "क्रोमेड्रिवर" फ़ाइल को /usr/local/bin/निर्देशिका में स्थानांतरित कर दिया । इससे मसला हल हो गया।

$ which chromedriver
$ chromedriver --version
ChromeDriver 79.0.3945.36

0

यह लिनक्स लोगों के लिए उपयोगी है। मेरी समस्या तुच्छ थी, मैंने क्रोमियम-ब्राउज़र का उपयोग किया। मैंने क्रोम स्थापित किया और सभी समस्याओं का समाधान किया गया। यह क्रोमियम के साथ काम कर सकता है लेकिन अतिरिक्त क्रियाओं के साथ। मुझे सफलता नहीं मिली। मैं प्रोट्रैक्टर कॉन्फ़िगरेशन के लिए एक आवश्यकता ड्राइवर संस्करण सेट कर सकता हूं। इसमें नवीनतम का उपयोग किया गया। मुझे एक मंदी की जरूरत थी।


0

मेरे पास लगभग ऐसी ही समस्याएं हैं, समस्याएँ पाइपलाइन के अंदर आती हैं जब मेरा सेलेनियम परीक्षण चल रहा होता है जिसे e2e परीक्षण चलाने के लिए क्रोमेड्रिवर पैकेज की आवश्यकता होती है।

मेरी त्रुटि पाइपलाइन का निर्माण करती है

समस्या सिर्फ इसलिए है क्योंकि पाइपलाइन में (मेरे मामले में) क्रोम संस्करण 73 है, और मेरा क्रोमेड्रिवर पैकेज संस्करण 74 में स्थापित है।

अंत में दो सरल उपाय हैं:

  1. अपने क्रोम को डाउनग्रेड करें
  2. अपने chromedriver पैकेज संस्करण को डाउनग्रेड करें। मेरे मामले में, क्योंकि मैं पाइपलाइन के अंदर चल रहा हूं, मुझे नीचे प्रदर्शित किए गए सेलेनियम परीक्षण को चलाने से पहले क्रोमेड्रिवर स्थापित करने की आवश्यकता है।

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


मुझे एक ही समस्या हो रही है, जेनकिंस नोड पर क्रोम -version कैसे पता करें?
चंद्रेश मिश्र

अगर कोई क्रोम नहीं है तो बिल्ड पाइपलाइन के एक हिस्से के रूप में नोड पर क्रोम कैसे स्थापित करें
चंद्रेश मिश्र

बिल्ड पाइपलाइन के एक हिस्से के रूप में क्रोम स्थापित करने के लिए आप बस ऊपर दी गई टास्क स्क्रिप्ट जोड़ सकते हैं।
गदानी

0

विजुअल स्टूडियो का उपयोग करना

मैं Visual Studio का उपयोग करते समय किसी भी उत्तर का पालन करके संस्करण बेमेल को हल नहीं कर सकता, लेकिन केवल Selenium.WebDriver और Selenium.WebDriver.ChromeDriver के लिए nuget संकुल को अद्यतन करते हुए नवीनतम संस्करणों में काम किया।

मैं क्रोम v78 का उपयोग कर रहा था, और क्रोमेड्रिवर को v78 में अपग्रेड करके अभी भी असंगति त्रुटि दी। सीएडी के जवाब ने मुझे समाधान के लिए प्रेरित किया।


0

आज मेरे साथ भी यही समस्या है।

मेरा समाधान:

Chromedriver की नवीनतम स्थिर रिलीज़ डाउनलोड करें: https://sites.google.com/a/chromium.org/chromedriver/

अपने सेलेनियम फ़ोल्डर पर क्रोम ड्राइवर को अपडेट करें। यह थोड़ा कठिन है, क्योंकि आपके पीसी पर एक छिपे हुए फ़ोल्डर में है जिसे AppData कहा जाता है। यहाँ है कि मैंने इसे अपने कंप्यूटर में कैसे किया (विंडोज 7):

C:> उपयोगकर्ता> आपका उपयोगकर्ता> \ AppData (आपको इसे फ़ोल्डर पथ बॉक्स में लिखने की आवश्यकता है, क्योंकि यह एक छिपा हुआ फ़ोल्डर है)> स्थानीय (यह फ़ोल्डर का नाम है पुर्तगाली में, शायद यह आपके लिए एक अलग नाम होगा) > सेलेनियमबासिक

वहां आपको क्रोमेड्रिवर एप्लिकेशन मिलेगा। बस इसे फिर से नाम दें (यदि यह काम नहीं करता है, तो आप पुराने संस्करण को चाहते हैं) और नवीनतम रिलीज को चिपकाने के बजाय।


0

मेरे पास हाल ही में एक ही मुद्दा था। यह मेरी त्रुटि थी:

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

इस फिक्स ने मेरे लिए काम किया:

  • सुनिश्चित करें कि कोई चल रहे chromedriver.exe प्रक्रियाएं नहीं हैं (यदि आवश्यक हो तो उन सभी को मारें जैसे कार्य प्रबंधक के माध्यम से)
  • बिन फ़ोल्डर में जाएँ और वहाँ से chromedriver.exe फ़ाइल को नष्ट (मेरे मामले में यह था: [project_folder]\bin\Debug\netcoreapp2.1)

0

सुनिश्चित करें कि आपके पास वेबड्राइवर-प्रबंधक का नवीनतम संस्करण है। आप उसी का उपयोग कर स्थापित कर सकते हैंnpm i webdriver-manager@latest --save

फिर निम्न को चलाएँ

command.webdriver-manager update

0

मुझे वही समस्या थी और chromedriverक्रोम के पिछले संस्करण के लिए एक फ़ाइल डाउनलोड करके इसे हल किया । मैंने पाया है कि क्रोम के वर्जन सेलेनियम के 79 संस्करण संगत हैं।

मैंने तब इसे एक निर्दिष्ट पथ में सहेजा, और उस पथ को अपने से जोड़ा webdriver

इस लिंक में सटीक चरण निर्दिष्ट हैं: http://chromedriver.chromium.org/downloads


0

मैं इसी तरह की समस्या थी बस अद्यतन वेबड्राइवर प्रबंधक पर मैक का उपयोग करने के लिए वेबड्राइवर प्रबंधक को अद्यतन करने के लिए-

 sudo webdriver-manager update

0
  1. अपने क्रोम के वर्तमान स्थिर रिलीज़ संस्करण को डाउनलोड करें और इसे स्थापित करें (अपने Google क्रोम संस्करण की जांच करने के लिए Google क्रोम के बारे में मदद> पर जाएं और अपने स्थानीय मशीन पर उस संस्करण को स्थापित करने का प्रयास करें।

Google क्रोम संस्करण डाउनलोड करने के लिए = chromedriver.chromium.org साइट पर जाएं


0

मैंने अपने पीसी पर स्थापित अपने Google क्रोम ब्राउज़र के संस्करण की जाँच की और फिर ChromeDriverअपने ब्राउज़र संस्करण के लिए अनुकूल डाउनलोड किया । आप इसे https://chromedriver.chromium.org/ से डाउनलोड कर सकते हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.