python 2.7 - अज्ञात त्रुटि: क्रोमेनियर अपग्रेड के बाद भी सेलेनियम सेंड कीज के लिए कॉल फंक्शन मिसिंग 'वैल्यू' गायब है




python-2.7 google-chrome (11)

अपने ChromeDriver.exe को नवीनतम संस्करण के साथ बदलें .. एक ही Google से आसानी से डाउनलोड किया जा सकता है।

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

या समान के लिए git प्रोजेक्ट देखें- https://github.com/bonigarcia/webdrivermanager#webdrivermanager-as-java-dependency dependency

मुझे चाबियाँ भेजते समय नीचे त्रुटि हो रही है।

परिणाम संदेश:

System.InvalidOperationException : unknown error: call function result missing 'value'
  (Session info: chrome=65.0.3325.146)
  (Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 10.0.14393 x86_64)

मैंने क्रोम ड्राइवर को 2.36 पर अपडेट किया है लेकिन फिर भी 2.33 के लिए मेरी कोड खोज है?

कोई उपाय ?


इस मौके पर यह किसी ऐसे व्यक्ति के लिए मददगार हो सकता है जिसे मुझे एक अतिरिक्त कदम की जरूरत थी:

मैं MacOS X पर हूं। मैंने किया

brew upgrade chromedriver
bundle exec chromedriver-upgrade

मेरे पास क्रोमेड्रिवर-हेल्पर रत्न स्थापित है, लेकिन यह अटका हुआ है और इसके लिए "बंडल एग्जीक्यूटिव" उपसर्ग की आवश्यकता होती है या शेल कमांड को नहीं ढूंढ सकता है।

ऊपर ने मेरी समस्या ठीक कर दी।


क्रोमेड्रिवर को अपडेट करने की आवश्यकता है: कंसोल में, रन करें: chromedriver-update 2.36


जैसा कि दूसरों ने उल्लेख किया है, नवीनतम क्रोमेड्रिवर ने मेरे लिए चाल चली। यदि आप ड्राइवर को मैन्युअल रूप से डाउनलोड करते हैं और इस आदेश द्वारा आप ऐसा कर सकते हैं तो नए क्रोमेड्रिवर का उपयोग करने के लिए ऐपियम को बताना चाहते हैं:

appium --chromedriver-executable /path/to/driver/chromedriver ....


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

# select by value
try:
    select.select_by_value('100')
except:
    pass

उम्मीद है कि किसी को यह उपयोगी लगता है।


मुद्दा क्रोमेड्रिवर और क्रोम ब्राउज़र संस्करण में बेमेल होने के कारण है। नीचे दिए गए लिंक क्रोम ब्राउज़र के संस्करण का समर्थन करने वाले क्रोमेड्रिवर के संस्करणों को निर्दिष्ट करते हैं।

chromedriver.chromium.org/downloads


मैं एक विंडोज वातावरण में सेलेनियम के साथ प्रोटेक्टर (वेबड्राइवर-मैनेजर) चला रहा हूं, और मुझे निम्नलिखित कार्य करने थे:

  1. webdriver-manager update --versions.chrome="2.36" (यह नए Chromedriver को सही पथ पर डाउनलोड करता है, लेकिन इसे प्रेषण में सक्षम नहीं करता है।)
  2. %userprofile%\AppData\Roaming\npm\node_modules\protractor\config.json संपादित करें और 2.32 से 2.36 तक chromedriver मान को बदल दिया।
  3. मेरे पुराने chromedriver_2.32.exe को अच्छे उपाय के लिए %userprofile%\AppData\Roaming\npm\node_modules\protractor\selenium (यदि यह आवश्यक हो तो निश्चित नहीं है।)

या:

जब एक और Chromedriver अद्यतन की आवश्यकता हो गई, तो मैं अब इस तरह से अपडेट करने में सक्षम नहीं था। कॉन्फ़िगरेशन सेटिंग अभी भी पुराने पथ और फ़ाइल नाम की अपेक्षा करती है, और मैं यह पता नहीं लगा सका कि उस सेटिंग को कहाँ बदलना है। इसलिए मैंने अभी नवीनतम क्रोमेड्रिवर का नाम बदलकर "क्रोमेड्राइवर। Exe" कर दिया है और इसे C: \ Windows \ system32 (जिसे हमेशा PATH द्वारा संदर्भित किया जाता है) में चिपका दिया है। क्रूड, लेकिन प्रभावी।


मैं प्रोटेक्टर चला रहा हूं और उसी मुद्दे का सामना कर रहा हूं।

मेरे मामले में समाधान सरल था।

$ npm update protractor -g

$ webdriver-manager update


यदि आप gulp-protractor प्लगइन का उपयोग कर रहे हैं, तो इसे भी अपडेट करना सुनिश्चित करें।


यदि आप नवीनतम स्थिर Google Chrome (उदाहरण 67) पर हैं, तो मैं निम्नलिखित की सलाह देता हूं:

brew uninstall chromedriver
brew tap homebrew/cask
brew cask install chromedriver

आदेशों के ये सेट आपके वर्तमान क्रोमड्राइवर को अनइंस्टॉल करेंगे, अपडेट की जांच करेंगे और नवीनतम पाया (जैसे 2.40) स्थापित करेंगे।



संस्करण 65.0.3325.146 (आधिकारिक बिल्ड) (64-बिट) के लिए Google क्रोम ब्राउज़र को अपडेट करने के बाद, मैं भी उसी त्रुटि के साथ सामना कर रहा हूं, जो इनपुट क्षेत्र में मान भेज रहा है, यहां त्रुटि संदेश है ...

selenium.common.exceptions.WebDriverException: Message: unknown error: call function result missing 'value'

Chromedriver 2.32 और Google Chrome 65.0 का उपयोग करना

जैसा कि मैंने उसी पर कुछ शोध किया था, मुझे Google chrome v65 changelogs पर एक हालिया कमिटमेंट मिला, जो मुझे समस्या को हल करने में मदद करता है।

उपाय:

  • Google Chrome को नवीनतम स्थिर संस्करण में अपडेट करें (मेरे मामले में यह 9 / मार्च / 2018 को v65 है)
  • नवीनतम क्रोमेड्रिवर (v2.36) डाउनलोड और कॉन्फ़िगर करें। Chromedriver को कॉन्फ़िगर करने के लिए (Ubuntu पर) इन चरणों का पालन करें ...

    1. डाउनलोड की गई ज़िप फ़ाइल को निकालें।
    2. निकाली गई क्रोमेड्रिवर फ़ाइल को / usr / स्थानीय / बिन या उस स्थान पर कॉपी करें जहां आप आमतौर पर निष्पादन योग्य बायनेरिज़ को संग्रहीत करते हैं।
    3. पर्यावरण पथ PATH के समान पथ (जहां आप क्रोमेड्राइवर फ़ाइल को रखते हैं) को जोड़ें

निर्यात पथ = $ पथ: / usr / स्थानीय / बिन

  1. स्थापना के परीक्षण के लिए, टर्मिनल को पुनरारंभ करें और इस कमांड को टाइप करें

क्रोमेड्रिवर --version

यह क्रोमेड्रिवर का संस्करण दिखाएगा जिसे आपने अभी स्थापित किया है।

नोट: यदि क्रोमेड्राइवर पहले से स्थापित और कॉन्फ़िगर है तो बस मौजूदा ड्राइवर फ़ाइल को बदलें और यदि आपको नहीं पता कि क्रोमेड्रिवर बायनेरिज़ पहले से ही कहाँ संग्रहीत है तो निम्न कमांड का उपयोग करके फ़ाइल को खोजने का प्रयास करें

 sudo find -H / -type f -iname chromedriver




webdriver