Uninstall Chromedriver Windows 10 - selenium

I'm trying to remove completely chromedriver from my computer in order to be able to upgrade to a higher version because I have an error message :
selenium.common.exceptions.SessionNotCreatedException: Message:
session not created: This version of ChromeDriver only supports Chrome
version 83
I made long researches on the subject unfortunately it's either not adapted, or things that don't work, I deleted all the chromedriver I could find, I looked for commands like pip uninstall the problem is that with pip it uninstalls but when I make chromedriver -version I get the version that makes me have the error message
I have chocolatey, so I searched for an order to uninstall the package unfortunately I found nothing, and/or nothing worked.

In my opinion, there are two ways that you can try to solve the problem when you use Windows 10.
Find the chromedirver.exe and delete it.
I know you have tried a lot, but this is another method.
run C:\>chromedirver.exe in the Command Prompt cmd which will make the process of chromedirver.exe running
Open the running program path via Windows Task-Manager. See this url for more info
delete the file
Set your chromedriver.exe path in the code.
see this url to know how to set executable_path

I was unable to uninstall the chromedriver with any available options on the internet. Then I stubmled upon the function itself.
webdriver.Chrome(executable_path="../yourpath/chromedriver.exe")
You can copy the newly downloaded chromedriver and store it in a location, and provide the location as an argument to the Chrome() function.
It solved the issue for me! Hope it helps.

Related

Selenium - This version of ChromeDriver only supports Chrome version xx

Suddenly today all my tests stopped working, giving me following error message:
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 97
Current browser version is 99.0.4844.51 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe
I have not updated the browser (auto-update is disabled) before the error occurred, i haven't changed anything at all. I have now downloaded Version 99.0.4844.51 of both the browser as well as driver but I still get the very same error.
I've tried every solution i could find on here and the internet (although most were just "update your stuff") but nothing has worked.
go to https://chromedriver.chromium.org/ and download the latest stable version of chromedriver and download it in your project folder.
As of September 2022, the following solution worked for me on an M1 Macbook.
Uninstall the Chrome browser
Then uninstall chromedriver brew uninstall --cask chromedriver
Re-install the Chrome browser
Then re-install the chromedriver brew install --cask chromedriver
I had the same issue, chromedriver stays linked for old version of chromedriver even if new version was updated. Try to use instructions below, for me it was helpful:
Go to manage nuGet packages..
then go to browse tab and search the package with keyword: "Selenium.Chrome.WebDriver" (For other browser, install corresponding package)
and then install it. (Note: if it is already installed then remove the package before installing it.)
update your chrome driver from here: http://chromedriver.chromium.org/downloads and save it to your local machine and give the path of it into your code.(var driver = new ChromeDriver(#"C:\Libraries");)
You should see your version on your chrome navigator and use the same. Help/ About and see the version.
I had the same problem, to fix it you need to verify if your Google Chrome version is updated.
Open Google Chrome and go to settings
[image1]: https://i.stack.imgur.com/GzOzy.png
Verify your Google Chrome version
[image2] https://i.stack.imgur.com/o2Vmn.png
Update your chrome version
[image3]: https://i.stack.imgur.com/dsZNd.png
And run again your test

ERROR org.openqa.selenium.WebDriverException: unknown error: call function result missing 'value' using Java [duplicate]

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 ?
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/
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...
Extract the downloaded zip file.
Copy the extracted chromedriver file to /usr/local/bin or to the location where you usually store the executable binaries.
Add the same path (where you place the chromedriver file) to environment variable PATH as
export PATH=$PATH:/usr/local/bin
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
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.
Downgrade your chrome browser to previous version and with the old chromedriver which you have now.
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.
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:
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>${webdrivermanager.version}</version>
<scope>test</scope>
</dependency>
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-
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
Need to update chromedriver :
In console, run: chromedriver-update 2.36
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.
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
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
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).
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')
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
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.
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 ....
I'm running Protractor (webdriver-manager) with Selenium in a Windows environment, and I had to do the following:
webdriver-manager update --versions.chrome="2.36" (This downloaded the new Chromedriver to the right path but didn't enable it in protractor.)
Edit %userprofile%\AppData\Roaming\npm\node_modules\protractor\config.json and changed the chromedriver value from 2.32 to 2.36.
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.
If you're using gulp-protractor plugin, make sure to update it as well.
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.
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

Nightwatch is not fetching sendkeys values

I am working on selenium using nightwatch. Previously it was taking input for login and password but now it has stopped entering values for login and password.Is there any change in nightwatch?
The classes for login and password is still the same.
If this problem is happening for Chrome, you may have upgraded you browser, but not your driver. go to http://chromedriver.chromium.org/ and get the correct version of chromedriver and put it in ../lib and ../node_modules folders to replace whatever version of chrome driver you have there.
Another possible suspect - if it's happening for all browsers - is your Selenium standalone server. Go here http://selenium-release.storage.googleapis.com/index.html and get the latest (today it's 3.12) install that in the appropriate place in your configuration and remember to update all references to it. When you install a new version of selenium standalone it is often necessary to restart your computer to get it to be recognized, too.
Even I was facing the same issue a month ago.. All you need to do is just update your chromedriver to latest.

protractor is using old webdriver version while latest is installed in system

I'm working with protractor to run end-2-end test for my app. When I try to run the app, I get following error
[16:17:53] E/local - Error code: 135
[16:17:53] E/local - Error message: Could not find chromedriver at C:\Users\Dell\AppData\Roaming\npm\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_2.26
[16:17:53] E/local - Error: Could not find chromedriver at C:\Users\Dell\AppData\Roaming\npm\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_2.26
I don't know why its looking for version 2.26 while when I run command
webdriver-manager --version
it gives me version 2.32. I've also updated it (locally and globally) again by running
webdriver-manager update -g --versions.chrome=2.32
but it doesn't seems to work. I've also checked manually that webdriver exe with version 2.32 is available at the location being referred in error i.e. C:\Users\Dell\AppData\Roaming\npm\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_2.26 .
Also, when I try to update webdriver-manager with following command, I place webdriver-manager exe with version 2.26 in the mentioned location. I don't know whether it is reading it from some config or from somewhere else because I'm unable to locate it. Need help in how to get rid of this 2.26 version and how to get protractor work with latest version (i.e. 2.32).
I was unable to fix this issue through webdriver-manager update or npm install/update but found a workaround for it. I've manually downloaded the chromedriver version 2.32. Renamed the .exe file to chromedriver_2.26.exe and then replaced it on C:\Users\Dell\AppData\Roaming\npm\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_2.26 and it worked correctly.
I found that the ChromeDriver versions used by Protractor's webdriver-manager are always too far behind for my needs.
The solution I found for this is:
Download the Selenium Server Standalone
Download the ChromeDriver version you want.
You will then create a .bat file with the following:
java -Dwebdriver.chrome.driver=C:\path_to_your_files\chromedriver -jar C:\path_to_your_files\selenium-server-standalone-3.4.0.jar -port 4444
Then you can just double-click on the .bat file and start your Selenium server with any ChromeDriver version you want. Hope this helps!
I faced similar issue when i upgraded ChromeDriver from 75 to 79. Even though "webdriver-manager update --versions.chrome=79..." did place the latest exe under rootfolder\node_modules\webdriver-manager\selenium, Protractor was still picking the old version.
For me the issue got resolved when i manually placed the latest version of ChromeDriver under the rootfolder\node_modules\protractor\node_modules\webdriver-manager\selenium and also updated the update-config.json located in the same folder.

Key Error: Session ID with latest version of GeckoDriver, FF, and Selenium

I recently upgraded the various pieces of our selenium suite, and when I updated the GeckoDriver to the latest version (0.16.1) I started encountering the following error during set up:
KeyError: 'sessionId'
I know this issue has been brought up here before, but I've checked the other threads and made sure I've followed the correct process. It seems the universal suggestion is to make sure everything is updated correctly.
I'm using robot framework with a modified version of their Selenium2Library to write and run the tests.
robot version is 3.0.2
selenium version is 3.4.3
FF version is 53.0.3
I have also tried altering my proxy settings following the guidance in the thread here(I am on a mac OS X El Capitan):
Why doesn't Selenium's response have a sessionId?
All of this is to no avail. The only thing I can do to get my tests back to a semi-functional state on firefox is to downgrade the geckodriver. I'd like to avoid that if possible, since this newest version has some bug fixes helpful to me.
Any guidance on what I should try next?
Upgrade version of selenium2Library. Current version is 1.8.0
Selenium2Library
Run Command
pip install robotframework-selenium2library --upgrade in cmd
Problem will be solved.
I've resolved this using the nuclear option -- I did a full uninstall of the three main dependencies in the original question and reinstalled through pip.
Latest versions seem to be in good shape. For some reason this resolved the underlying keyError. It does not appear that upgrading the Selenium2Library had any effect.