অজানা ত্রুটি: ক্রোমড্রাইভার আপগ্রেড হওয়ার পরেও কল ফাংশন ফলাফল সেলেনিয়াম প্রেরণ কীগুলির জন্য 'মান' অনুপস্থিত


110

কীগুলি প্রেরণের সময় আমি নীচের ত্রুটিটি পাচ্ছি।

ফলাফল বার্তা:

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)

আমি ক্রোম ড্রাইভারটি ২.৩36 এ আপডেট করেছি তবে এখনও আমার কোড অনুসন্ধান ২.৩৩?

কোন ধারণা ?


গতকাল থেকেই এখানে একই সমস্যা আমার ক্ষেত্রে, আমি মনে করি যে সমস্যাটি হেডলেস ক্রোম ভি 65 + সেলেনিয়াম ড্রাইভার ভি 2.34 (চেঞ্জলগটি ক্রোম ভি 61-63 এর সাথে সামঞ্জস্যপূর্ণ) এর সংমিশ্রণ
জর্জে

উত্তর:


115

আমি একই ত্রুটিটি পেয়েছি, দয়া করে শেষ ক্রোমড্রাইভার সংস্করণটি ডাউনলোড করুন এবং / অথবা ক্রোম ব্রাউজার সংস্করণ আপডেট করুন এবং এটি দুর্দান্ত কাজ করবে :)

https://chromedriver.storage.googleapis.com/index.html?path=2.36/


1
আমি এটি ডাউনলোড করে নুগেট হিসাবে উল্লেখ করেছি এবং ২.৩৩-এর সমস্ত উল্লেখ মুছে ফেলেছি তবুও এটি পুরানো ২.৩৩ এর সাথে সংযোগ স্থাপন করেছে?
জাকি আহমেদ

2
আমি নতুন ক্রোমড্রাইভার ২.৩36 ডাউনলোড করেছি এবং এটি এখনও ক্রোম সংস্করণ 65.0.3325.146 (অফিসিয়াল বিল্ড) (-৪-বিট) সাথে কমপক্ষে ম্যাক ওএসে কাজ করে না :(
নেলিসিজেকা

2
ওহ, ক্ষমা চাইছি, আমি আসলে আমার পথটি ভুলভাবে কনফিগার করেছি এবং নতুন ক্রোমড্রাইভারের সাথে এটি যুক্ত করার পরে, আমার স্ক্রিপ্টটি আসলে এখন কাজ করে now আমি উপায় দ্বারা একটি উইন্ডোজ মেশিন ব্যবহার করছি।
ক্লিফ চিউ

6
যদি আপনি github.com/flavorjones/chromedriver-helper মণি ব্যবহার করে থাকেন তবে কনসোলে চালানchromedriver-update 2.36
Bachet

4
আপনি যদি হোমব্রিউ ব্যবহার করেন তবে আপনি মৃত্যুদণ্ড কার্যকর করতে পারেনbrew upgrade chromedriver
ডিয়েগো ক্যারিওন

23


গুগল ক্রোম ব্রাউজারটি সংস্করণ 65.0.3325.146 (অফিসিয়াল বিল্ড) (-৪-বিট) এ আপডেট করার পরে , ইনপুট ক্ষেত্রে মান প্রেরণের সময় আমিও একই ত্রুটির মুখোমুখি হয়েছি, এখানে ত্রুটি বার্তাটি ...

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

Chromedriver 2.32 এবং গুগল ক্রোম 65.0 ব্যবহার করছে

আমি যেমন এটি নিয়ে কিছু গবেষণা করেছি, আমি গুগল ক্রোম ভি 6565 চেঞ্জলগগুলির উপর একটি সাম্প্রতিক প্রতিশ্রুতি পেয়েছি যা আমাকে সমস্যাটি সমাধান করতে সহায়তা করে।

সমাধান:

  • গুগল ক্রোমকে সর্বশেষ স্থিতিশীল সংস্করণে আপডেট করুন (আমার ক্ষেত্রে এটি 9 / মার্চ / 2018 এ v65)
  • সর্বশেষ ক্রোমড্রাইভার ডাউনলোড করুন এবং কনফিগার করুন (v2.36)। ক্রোমড্রাইভার কনফিগার করার জন্য (উবুন্টুতে) এই পদক্ষেপগুলি অনুসরণ করুন ...

    1. ডাউনলোড জিপ ফাইলটি বের করুন।
    2. এক্সট্রাক্ট ক্রোমড্রাইভার ফাইলটি / ইউএসআর / লোকাল / বিনে বা আপনি যেখানে সাধারণত সম্পাদনযোগ্য বাইনারিগুলি সঞ্চয় করেন সেখানে অনুলিপি করুন ।
    3. পরিবেশের পরিবর্তনশীল PATH তে একই পথটি (যেখানে আপনি ক্রোমড্রাইভার ফাইলটি স্থাপন করেন) যুক্ত করুন

PATH = $ পাঠ: / ইউএসআর / স্থানীয় / বিন রফতানি করুন

  1. ইনস্টলেশন পরীক্ষা করার জন্য, টার্মিনালটি পুনরায় চালু করুন এবং এই আদেশটি টাইপ করুন

ক্রোমড্রাইভার - রূপান্তর

এটি সবেমাত্র ইনস্টল করা ক্রোমড্রাইভারের সংস্করণটি দেখায়।

দ্রষ্টব্য: যদি ক্রোমড্রাইভার ইতিমধ্যে ইনস্টল ও কনফিগার করা থাকে তবে কেবলমাত্র বিদ্যমান ড্রাইভার ফাইলটি প্রতিস্থাপন করুন এবং যদি Chromedriver বাইনারি ইতিমধ্যে সঞ্চিত থাকে তবে আপনি যদি না জানেন তবে নিম্নলিখিত কমান্ডটি ব্যবহার করে ফাইলটি সন্ধান করার চেষ্টা করুন

 sudo find -H / -type f -iname chromedriver

13

এটি ক্রোম ব্রাউজার সংস্করণটি .৪.xx থেকে। 65.xx এ আপডেট করার কারণে

সফলভাবে আপনার পরীক্ষা চালানোর জন্য এখন আপনার কাছে দুটি বিকল্প রয়েছে।

  1. আপনার ক্রোম ব্রাউজারটি পূর্ববর্তী সংস্করণে এবং পুরানো ক্রোমড্রাইভারের সাথে ডাউনগ্রেড করুন যা আপনার কাছে রয়েছে।

  2. আপডেট হওয়া ক্রোম ব্রাউজারের সাহায্যে আপনার Chromedriver কে 2.36 সংস্করণে আপগ্রেড করুন।

    পরিদর্শন https://chromedriver.storage.googleapis.com/index.html?path=2.36 এবং নতুন chromedriver ডাউনলোড করুন।

বিকল্প 2 আরও ভাল।


আমি নিম্নলিখিত পরিবেশে আছি: উবুন্টু 16.04, গুগল ক্রোম 65.0.3325.146, ক্রোমড্রাইভার 2.36.540471। এবং আমি এখনও উপরে সঠিক ত্রুটি পেতে। আমার কী পরিবর্তন দরকার? ত্রুটিটি অবশ্য বলছে আমি ক্রোমড্রাইভার সংস্করণটি ব্যবহার করছি 2.33.506092 ...
আরমিন

আপনাকে সর্বশেষ ক্রোমড্রাইভারের সঠিক পথটি উল্লেখ করতে হবে যা আপনি কোনও পুরানো নয় আপডেট করেছেন। বা পুরানো ক্রোমড্রাইভারকে নতুন দিয়ে প্রতিস্থাপন করুন। শুধু এটি পরীক্ষা করে দেখুন।
দীপক এন

ভিজ্যুয়াল স্টুডিওতে যদি কেউ এই ত্রুটির মুখোমুখি হন তবে ক্রোম ওয়েব ড্রাইভার নুগেট প্যাকেজ ২.3737 এ আপগ্রেড করুন (লেখার সময়) এই ত্রুটিটি সমাধান করবে।
গুণারথিনাম

12

আপনার ChromeDriver.exe কে সর্বশেষতম সংস্করণে প্রতিস্থাপন করুন .. একই সাথে গুগল থেকে ডাউনলোড করা যায়।

নীচে বর্ণিত হিসাবে ওয়েবড্রাইভার ম্যানেজারটি ব্যবহার করে এটি স্বয়ংক্রিয়ভাবে সম্পন্ন করা আরও ভাল - ১. আপনার প্রকল্পের POM- এ Mvn নির্ভরতা যুক্ত করুন:

<dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>webdrivermanager</artifactId>
    <version>${webdrivermanager.version}</version>
    <scope>test</scope>
</dependency>
  1. এখন আপনার ব্রাউজার ইনস্ট্যান্টেশন ক্লাসে ড্রাইভার তৈরির traditional তিহ্যগত উপায় ব্যবহার না করে অর্থাৎ System.setProperty (বেলও দেখুন) ব্যবহার করে ...

    System.setProperty ( "webdriver.chrome.driver", "SRC / পরীক্ষা / সম্পদ / ড্রাইভার / chromedriver.exe");

নীচের পদ্ধতির ব্যবহার করুন:

WebDriverManager.chromedriver () সেটআপ ()।
ওয়েবড্রাইভার = নতুন ক্রোমড্রাইভার (ক্রোমঅ্যাপশন);

এবং এই সব, আপনি সম্পন্ন!

আপনার রেফারেন্সের জন্য নীচের লিঙ্কগুলি ব্যবহার করুন- ব্রাউজার বাইনারি ম্যানেজার কী তা সেলেনিয়ামের জন্য কীভাবে ব্যবহার করবেন

বা chkout গিট প্রকল্পটির জন্য- https://github.com/bonigarcia/webdrivermanager#webdrivermanager-as-java-d dependency


3
এটি আমার পক্ষে কাজ করেছে - ২.3737 এর জন্য ডাউনলোডগুলি
বোর্ন

হ্যাঁ এবং এখন সর্বশেষতমটি হ'ল - ক্রোমড্রাইভার ২.৩৩
সত্যেন্দ্র শর্মা

10

ক্রোমড্রাইভার আপডেট করতে হবে: কনসোলে, চালান: chromedriver-update 2.36


9

ত্রুটিটি সব বলে:

System.InvalidOperationException : unknown error: call function result missing 'value'
  (Session info: chrome=65.0.3325.146)
  (Driver info: chromedriver=2.33.506120

ত্রুটিটি স্পষ্টভাবে অবৈধ অপেশনের ধারণা সম্পর্কে অভিযোগ করে

আপনার মূল সমস্যাটি হ'ল আপনি বাইনারিগুলির নীচের হিসাবে ব্যবহার করছেন এমন সংস্করণের সামঞ্জস্যতা :

  • আপনি ক্রোমড্রাইভার = 2.33 ব্যবহার করছেন
  • ক্রোমড্রাইভারের প্রকাশের নোটগুলি = 2.33 স্পষ্টভাবে নিম্নলিখিতগুলির উল্লেখ করেছে:

ক্রোম ভি 60-62 সমর্থন করে

  • আপনি ক্রোম = 65.0 ব্যবহার করছেন
  • ChromeDriver v2.37 এর প্রকাশের নোটগুলি পরিষ্কারভাবে নিম্নলিখিতগুলির উল্লেখ করেছে:

ক্রোম v64-66 সমর্থন করে

  • আপনার সেলেনিয়াম ক্লায়েন্ট সংস্করণটি আমাদের অজানা।

সুতরাং ChromeDriver সংস্করণ ( v2.33 ) এবং Chrome ব্রাউজার সংস্করণ ( v65.0 ) এর মধ্যে একটি স্পষ্ট মিল নেই

সমাধান

  • সেলেনিয়ামকে বর্তমান স্তরের সংস্করণ 3.11.0 এ আপগ্রেড করুন ।
  • ChromeDriver কে ChromeDriver v2.37 স্তরে আপগ্রেড করুন ।
  • Chrome v64.x-66.x স্তরের মধ্যে ক্রোম সংস্করণ রাখুন । ( ChromeDriver v2.37 রিলিজ নোট অনুযায়ী )
  • আপনার আইডিই এর মাধ্যমে আপনার প্রকল্প কর্মক্ষেত্রটি পরিষ্কার করুন এবং শুধুমাত্র প্রয়োজনীয় নির্ভরতা সহ আপনার প্রকল্পটি পুনর্নির্মাণ করুন।
  • আপনার পরীক্ষার স্যুটটি কার্যকর করার আগে এবং তার পরে সমস্ত ওএসের কাজ মুছতে সিসিলিয়েনার সরঞ্জামটি ব্যবহার করুন
  • যদি আপনার বেস ওয়েব ব্রাউজার / ওয়েব ক্লায়েন্ট সংস্করণটি খুব পুরানো হয় তবে রেভো আনইনস্টলারের মাধ্যমে এটি আনইনস্টল করুন এবং একটি সাম্প্রতিক জিএ এবং ওয়েব ব্রাউজার / ওয়েব ক্লায়েন্টের প্রকাশিত সংস্করণ ইনস্টল করুন
  • কার্যকর করুন আপনার @Test

5

আপনি যদি ম্যাকটিতে থাকেন:

brew upgrade selenium-server-standalone
brew upgrade chromedriver

যদি উপরের দুটি ইনস্টল না করা থাকে:

brew install selenium-server-standalone
brew install chromedriver

3

আমি প্রটেক্টর চালাচ্ছি এবং একই সমস্যাটির মুখোমুখি হয়েছি।

আমার ক্ষেত্রে সমাধানটি বরং সহজ ছিল।

$ npm update protractor -g

$ webdriver-manager update


আপনি যদি gulp-protractorপ্লাগইন ব্যবহার করছেন তবে এটিও আপডেট করার বিষয়টি নিশ্চিত করুন।
ইলিয়া ভিনোগ্রাডভ

2

আপনি যদি সর্বশেষতম স্থিতিশীল গুগল ক্রোমে থাকেন (উদাঃ 67) আমি প্রস্তাব দিই:

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

কমান্ডগুলির এই সেটগুলি আপনার বর্তমান ক্রোমড্রাইভার আনইনস্টল করবে, আপডেটগুলি পরীক্ষা করবে এবং সর্বশেষ পাওয়া (উদাহরণস্বরূপ 2.40) ইনস্টল করবে।


খুশি এটা সাহায্য!
এস এস্টেভস

1
Use xpaths instead of class names to locate elements

ক্রোম এবং এর ড্রাইভারগুলি আপডেট করার পরে এটি আমাকে মোটেও সহায়তা করেনি !! আমি বুঝতে পারি না এটি কতটা অর্থবহ হয় তবে আমি যখন ক্লাসের নামটি এক্সপ্যাথের সাথে প্রতিস্থাপন করি তখন এটি আমার পক্ষে কাজ করে। এটি এক্সপথ, আমি পাইথন ব্যবহার করে হোয়াটসঅ্যাপ বার্তা প্রেরণে স্বয়ংক্রিয়ভাবে ব্যবহৃত হত।

driver.find_element_by_xpath('//*[@id="main"]/footer/div[1]/div[2]/div')

আগে আমি ব্যবহার করছিলাম

driver.find_element_by_class_name('Some class Name Here')

0

আমার ক্ষেত্রে যে দলটি রয়েছে সেগুলিতে আমরা একটি নির্দিষ্ট ক্রোমড্রাইভার ফাইলের পয়েন্ট সেলেনিয়ামে আছি। আপডেট হওয়া ক্রোমড্রাইভারটি ব্যবহার করার জন্য সেলেনিয়ামটি পেতে, আমি প্রথমে এটি তৈরি করলাম দিয়ে ইনস্টল করেছিলাম এবং তারপরে একটি সিম্বলিক লিঙ্ক তৈরি করেছি যেখানে সেলেনিয়াম এটি সন্ধান করছে:

brew install chromedriver
ln -s /usr/local/Cellar/chromedriver/2.36/bin/chromedriver /path/where/selenium/expects/chromedriver

0

সুযোগে এটি কারও পক্ষে সহায়ক হতে পারে আমার একটি অতিরিক্ত পদক্ষেপের প্রয়োজন:

আমি ম্যাকস এক্স এ আছি I

brew upgrade chromedriver
bundle exec chromedriver-upgrade

আমার কাছে ক্রোমড্রাইভার-সহায়ক মণি ইনস্টল করা আছে তবে এটি স্ট্যাশ করে এটিতে "বান্ডেল এক্সিকিউটি" উপসর্গের প্রয়োজন হয় বা শেলটি আদেশটি সন্ধান করতে পারে না।

উপরের বিষয়গুলি আমার সমস্যাটিকে স্থির করেছে।


0

অন্যদের দ্বারা যেমন উল্লেখ করা হয়েছে, সর্বশেষতম ক্রোমড্রাইভার আমার জন্য কৌশলটি করেছে। আপনি যদি ড্রাইভারটিকে ম্যানুয়ালি ডাউনলোড করেন এবং অ্যাপিয়ামকে নতুন ক্রোমড্রাইভার ব্যবহার করতে চান তবে আপনি এই আদেশটি দিয়ে এটি করতে পারেন:

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


0

আমি উইন্ডোজ পরিবেশে সেলেনিয়ামের সাথে প্রটেক্টর (ওয়েবড্রাইভার-ম্যানেজার) চালাচ্ছি, এবং আমাকে নিম্নলিখিতগুলি করতে হয়েছিল:

  1. webdriver-manager update --versions.chrome="2.36" (এটি নতুন ক্রমড্রাইভারটিকে সঠিক পথে ডাউনলোড করেছে তবে এটি প্রটেক্টর হিসাবে সক্ষম করে না))
  2. সম্পাদনা করুন %userprofile%\AppData\Roaming\npm\node_modules\protractor\config.jsonএবং পরিবর্তন chromedriverথেকে মান 2.32থেকে2.36
  3. আমার পুরোনো মুছুন chromedriver_2.32.exeথেকে %userprofile%\AppData\Roaming\npm\node_modules\protractor\seleniumভাল পরিমাপ জন্য (যে নিশ্চিত না যদি প্রয়োজন ছিল।)

বা:

যখন অন্য একটি ক্রোমড্রাইভার আপডেটের প্রয়োজন হয়ে পড়েছে, আমি আর এইভাবে আপডেট করতে পারিনি। একটি কনফিগারেশন সেটিংস এখনও পুরানো পথ এবং ফাইলের নাম প্রত্যাশা করেছিল এবং সেই সেটিংসটি কোথায় পরিবর্তন করতে হবে তা আমি বুঝতে পারি না। সুতরাং আমি সবেমাত্র সর্বশেষতম ক্রোমড্রাইভারকে "chromedriver.exe" নামকরণ করেছি এবং এটি সি: \ উইন্ডোজ \ সিস্টেম 32 (যা সর্বদা PATH দ্বারা রেফারেন্স করা হয়) এ আটকেছি। অপরিশোধিত, কিন্তু কার্যকর।



0

আপনি এখনও এটিতে রয়েছেন কিনা তা আমি জানি না তবে আমি একই রকম ত্রুটি পেয়েছি। আমার PATH- এ ক্রোমড্রাইভারের সর্বশেষতম সংস্করণ ছিল এবং গুগল ক্রোম আপডেট হয়েছিল। আমি উইন্ডোজ 10 x64 বিট এ পাইথন 3.6 চালিত। আমি ওয়েবপৃষ্ঠায় একটি ড্রপডাউন মেনু থেকে একটি মান নির্বাচন করার চেষ্টা করছিলাম getting অদ্ভুত জিনিসটি ছিল, এটি ড্রপডাউন মানটি সঠিকভাবে নির্বাচন করবে এবং পৃষ্ঠাটি সুন্দরভাবে আপডেট করা হবে তবে আমি যে বোকা ত্রুটি যাইহোক পেয়েছি এবং আমার স্ক্রিপ্ট হিমশীতল হবে। সুতরাং আমি এটির জন্য কেবল একটি ব্যতিক্রম ত্রুটি হ্যান্ডলার তৈরি করেছি, কারণ আমি যেমন বলেছিলাম যে এটি ড্রপডাউন মানটি সঠিকভাবে নির্বাচন করেছে, তাই আমি কেবল সেই বোবা ত্রুটি বার্তাটি বাইপাস করতে চেয়েছিলাম:

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

আশা করি কেউ এই সহায়ক খুঁজে পেয়েছেন।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.