unknown error: call function result missing 'value' for Selenium Send Keys even after chromedriver upgrade

Python 2.7Google ChromeSeleniumSelenium WebdriverWebdriver

Python 2.7 Problem Overview


I am getting the below error while sending keys.

Result Message:

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)

I have updated the chrome driver to 2.36 but still my code search for 2.33?

Any idea ?

Python 2.7 Solutions


Solution 1 - Python 2.7

I've gotten the same error, please download the last ChromeDriver version and/or update chrome browser version and it will be working fine :)

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

Solution 2 - Python 2.7


After updating the Google Chrome browser to Version 65.0.3325.146 (Official Build) (64-bit), I'm also encountered with the same error while sending values to the input field, here's the error message...

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

using Chromedriver 2.32 and Google Chrome 65.0

As I did some research on the same, I found a recent commit on Google chrome v65 changelogs which help me to resolve the issue.

Solution:

  • Update Google Chrome to latest stable version (in my case it's v65 on 9/mar/2018)
  • Download and configure latest chromedriver (v2.36). For configuring chromedriver (on Ubuntu) follow these steps...
  1. Extract the downloaded zip file.
  2. Copy the extracted chromedriver file to /usr/local/bin or to the location where you usually store the executable binaries.
  3. Add the same path (where you place the chromedriver file) to environment variable PATH as

> export PATH=$PATH:/usr/local/bin

  1. For testing the installation, restart the terminal and type this command

> chromedriver --version

it would show the version of chromedriver that you just installed.

Note: If the chromedriver already installed and configured then just replace the existing driver file and If you don't know where the Chromedriver binaries already stored then try to find the file using following command

 sudo find -H / -type f -iname chromedriver

Solution 3 - Python 2.7

It is because of the update of chrome browser version from 64.xx to 65.xx

Now you have 2 options to run your tests successfully.

  1. Downgrade your chrome browser to previous version and with the old chromedriver which you have now.

  2. Upgrade your Chromedriver to 2.36 version with the updated Chrome browser.

    visit https://chromedriver.storage.googleapis.com/index.html?path=2.36 and download the new chromedriver.

Option 2 is better.

Solution 4 - Python 2.7

Replace your ChromeDriver.exe with latest version.. Same can be downloaded from Google easily.

Also its better to get it done automatically by using webDriver manager as explained below -

  1. Add Mvn dependency to your project POM:

    io.github.bonigarcia webdrivermanager ${webdrivermanager.version} test

  2. Now in your Browser instantiation class instead of using traditional way to create driver i.e. by using System.setProperty(See belwo)... > System.setProperty("webdriver.chrome.driver","src/test/resources/drivers/chromedriver.exe");

Use below approach:

> WebDriverManager.chromedriver().setup();
> webDriver = new ChromeDriver(chromeOptions);

And that's all, you are done!

Use below links for your reference- https://stackoverflow.com/questions/53276021/what-is-browser-binary-manager-how-to-use-it-for-selenium

or chkout git project for same- https://github.com/bonigarcia/webdrivermanager#webdrivermanager-as-java-dependency

Solution 5 - Python 2.7

Need to update chromedriver : In console, run: chromedriver-update 2.36

Solution 6 - Python 2.7

The error says it all :

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

The error clearly complains about InvalidOperationException

Your main issue is the version compatibility between the binaries you are using as follows :

  • You are using chromedriver=2.33
  • Release Notes of chromedriver=2.33 clearly mentions the following :

>Supports Chrome v60-62

  • You are using chrome=65.0
  • Release Notes of ChromeDriver v2.37 clearly mentions the following :

>Supports Chrome v64-66

  • Your Selenium Client version is unknown to us.

So there is a clear mismatch between the ChromeDriver version (v2.33) and the Chrome Browser version (v65.0)

Solution

  • Upgrade Selenium to current levels Version 3.11.0.
  • Upgrade ChromeDriver to ChromeDriver v2.37 level.
  • Keep Chrome version in between Chrome v64.x-66.x levels. (as per ChromeDriver v2.37 release notes)
  • Clean your Project Workspace through your IDE and Rebuild your project with required dependencies only.
  • Use CCleaner tool to wipe off all the OS chores before and after the execution of your test Suite.
  • If your base Web Browser/Web Client version is too old, then uninstall it through Revo Uninstaller and install a recent GA and released version of Web Browser/Web Client.
  • Execute your @Test.

Solution 7 - Python 2.7

If you are on Mac:

brew upgrade selenium-server-standalone
brew upgrade chromedriver

if the above two are not installed:

brew install selenium-server-standalone
brew install chromedriver

Solution 8 - Python 2.7

I'm running Protractor and have encountered the same issue.

The solution in my case was rather simple.

$ npm update protractor -g

$ webdriver-manager update

Solution 9 - Python 2.7

If you are on the latest stable Google Chrome (e.g. 67) I recommend to:

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

These set of commands will uninstall your current chromedriver, check for updates and install the latest found (e.g. 2.40).

Solution 10 - Python 2.7

Use xpaths instead of class names to locate elements

After updating chrome and its drivers it didn't helped me at all!! I don't know how much it makes sense but it worked for me when i replaced class name with xpath. This is the xpath , i used to automate sending whatsapp message using python.

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

previously i Was Using

driver.find_element_by_class_name('Some class Name Here')

Solution 11 - Python 2.7

I'm running Protractor (webdriver-manager) with Selenium in a Windows environment, and I had to do the following:

  1. webdriver-manager update --versions.chrome="2.36" (This downloaded the new Chromedriver to the right path but didn't enable it in protractor.)
  2. Edit %userprofile%\AppData\Roaming\npm\node_modules\protractor\config.json and changed the chromedriver value from 2.32 to 2.36.
  3. Delete my old chromedriver_2.32.exe from %userprofile%\AppData\Roaming\npm\node_modules\protractor\selenium for good measure (not sure if that was required.)

Or:

When another Chromedriver update became needed, I was no longer able to update this way. A configuration setting still expected the old path and filename, and I couldn't figure out where to change that setting. So I just renamed the latest chromedriver to "chromedriver.exe" and stuck it in C:\Windows\system32 (which is always referenced by PATH). Crude, but effective.

Solution 12 - Python 2.7

In my case the team I'm on points selenium to a specific chromedriver file we had. In order to get Selenium to use the updated chromedriver, I first installed it with brew and then created a symbolic link to point where Selenium looks for it:

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

Solution 13 - Python 2.7

On the chance this might be helpful to someone I needed an additional step:

I am on MacOS X. I did

brew upgrade chromedriver
bundle exec chromedriver-upgrade

I have the chromedriver-helper gem installed, but it is stashed and requires the "bundle exec" prefix or the shell can't find the command.

The above fixed my problem.

Solution 14 - Python 2.7

As mentioned by others, the latest chromedriver did the trick for me. In case you downloaded the driver manually and want to tell appium to use the new chromedriver you can do so by this command:

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

Solution 15 - Python 2.7

If you're using gulp-protractor plugin, make sure to update it as well.

Solution 16 - Python 2.7

I don't know if you're still on this, but I was receiving a similar error. I had the latest version of chromedriver in my PATH and Google Chrome was updated. I run Python 3.6 on windows 10 x64 bit. What I was getting trying to select a value from a dropdown menu on a webpage. The weird thing was, it would select the dropdown value correctly and the page would be updated nicely, but I'd receive that stupid error anyway and my script would freeze. So I just made an exception error handler for it, because like I said it selected the dropdown value correctly, so I just wanted to bypass that dumb error message:

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

hopefully someone finds this helpful.

Solution 17 - Python 2.7

The issue is because of mismatch in chromedriver and chrome browser version. Below link specifies the versions of chromedriver supporting the chrome browser's version.

http://chromedriver.chromium.org/downloads

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionZaki AhmedView Question on Stackoverflow
Solution 1 - Python 2.7CoderView Answer on Stackoverflow
Solution 2 - Python 2.7Akay NiralaView Answer on Stackoverflow
Solution 3 - Python 2.7Deepak NView Answer on Stackoverflow
Solution 4 - Python 2.7Satyendra SharmaView Answer on Stackoverflow
Solution 5 - Python 2.7OlgaView Answer on Stackoverflow
Solution 6 - Python 2.7undetected SeleniumView Answer on Stackoverflow
Solution 7 - Python 2.7Sandeep ShabdView Answer on Stackoverflow
Solution 8 - Python 2.7catch22View Answer on Stackoverflow
Solution 9 - Python 2.7S. EstevesView Answer on Stackoverflow
Solution 10 - Python 2.7Be ChampzzView Answer on Stackoverflow
Solution 11 - Python 2.7Jordan RiegerView Answer on Stackoverflow
Solution 12 - Python 2.7ChrisView Answer on Stackoverflow
Solution 13 - Python 2.7gischerView Answer on Stackoverflow
Solution 14 - Python 2.7Mark DuivesteijnView Answer on Stackoverflow
Solution 15 - Python 2.7Ilya VinogradovView Answer on Stackoverflow
Solution 16 - Python 2.7Matt WilsonView Answer on Stackoverflow
Solution 17 - Python 2.7Chetan G. BendreView Answer on Stackoverflow