Why doesn't ChromeDriver require Chrome or Chromium? - google-chrome

ChromeDriver is working on my system even though I don't have Chrome or Chromium installed. Based on the name, I thought it was like a "car driver" where you still need a car to get going. Or maybe like a product's API where you still need the product for your API calls to accomplish something.
Edit: Whoops, Chromium is installed after all.

Of course ChromeDriver requires Chrome or Chromium.
As per ChromeDriver - WebDriver for Chrome ChromeDriver is a separate executable that WebDriver uses to control Chrome.
Now, as per Requirements - ChromeDriver the server expects you to have Chrome installed in the default location for each system as follows:
1For Linux systems, the ChromeDriver expects /usr/bin/google-chrome to be a symlink to the actual Chrome binary.
You can also force ChromeDriver to use a custom location by setting a special capability. You can find the documentation in Using a Chrome executable in a non-standard location

Related

Chrome json path finder extensions

I have installed JsonPath Finder extension from Chrome webstore but when I tried to use it, the extension is grayout.I installed a different json path extenstion from web store and this extension behaved exactly the same as first one. I deleted those extensions and reinstalled but same result. I checked in the setting and all extensions are enabled. I have a win 10 pc with chrome ver 96.0.4664. Please let me know how to install jsonPath finder extensions from webstore and use it.All other extenisons I installed from Web store is working without any problem.

What Version of ChromeDriver Supports HeadlessChrome v60

I am attempting to use Chrome v60.0.3093.0 (Canary) with Selenium. I would like to also trying using it as a headless implementation. I was wondering if there is a version of the ChromeDriver that supports v60.x for use with selenium-webdriver v2.53.1
(I am doing this with MAC OS X)
You can found chrome and chromedriver versions compatibility information on official chromedriver download page: https://sites.google.com/a/chromium.org/chromedriver/downloads
There is also version selection guide for future updates. Note that this algorithm can be easily automated like in this answer.

How can I downgrade to Chrome 42.0.2311.90?

Google Chrome on my machine recently got updated to v44.
I'm working with Selenium WebDriver on Chrome and as soon as I updated Chrome, all my tests went dead. I use Chromedriver v2.16. My partner's PC has Chrome v42.0.2311.90 and Chromedriver v2.16. And tests run fine on his machine. Now, based on this I'm pretty sure the problem is probably not with Chromedriver.
So, how can I downgrade to Chrome 42.0.2311.90?
I've tried using an offline installer from here:
Google Chrome Alternate Offline Installer
But this always gives me the latest version to install i.e. v44.
The release that I need can be found here:
Google Chrome v42.0.2311.90 Stable Channel Update
Uninstall your current chrome version.
Remove all Chrome data for current version from: C:\Users\username\AppData\Local\Google\Chrome
Download your particular version from chrome_installer.
Disable chrome updates using instructions given on this link.
Following steps help you to install your desired google chrome version :
1 - Uninstall your current google chrome version.
2 - Download your desired google chrome version from here : Google Chrome Download
3 - Restart PC once so if any registry or temp file stored of previous google chrome then it will get refresh.
4 - Install your downloaded google chrome. And then turn off automatic chrome update.
I struggled with this same problem on Mac, trying to downgrade, and stay downgraded from Chrome 53 to 52 due to a serious bug affecting webaudio.
None of the other recommendation appear to apply any more (or on Mac OS X at least). The app attempts to upgrade itself and there doesn't be a way to configure that in a "Chrome-friendly" way.
Eventually I resorted to force...
Close and uninstall Chrome
Edit your /etc/hosts file to prevent update checks from working by overriding the DNS entry:
0.0.0.0 tools.google.com
Find and download an old release. This is left as an exercise, this was actually hard and fraught with fear of bad binaries. I was able to cross-reference MD5s from one site that didn't have downloads with another that had downloads.
Install and run the older version
Important: Check the "About" page, and point and laugh at Chrome's attempts to check in.
This is how you can use an older chrome version "in general":
Uninstall your current chrome
Install the chrome version you desire
DO NOT open chrome!! after installation
Instead disable auto-updates like here or here
Only then may you work with your desired chrome browser version
As for how to get a specific older version:
You need to google, search forums or try sites like this. It's just "grunt work" to find the version you are looking for. If you're extremely unlucky, the very version you need might even not be around any more.
If you are running on a windows machine you can leverage the package manager chocolatey, this is how we I'm doing it from Jenkins, we call a powershell that uninstalls a previous version and install a specific one: From a powershell ide script window, you need to have installed the modules for chocolatey that is a small price to pay for a lot of benefit:
choco install googlechrome --version 62.0.3202.94 -y
Then to prevent Chrome to self update I am performing this steps:
1. Verify Chrome's current version.
(Get-Item (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe').'(Default)').VersionInfo
Install the version I'm aiming for:
choco install googlechrome --version 62.0.3202.94 -y
You can look for available versions here:
https://chocolatey.org/packages/GoogleChrome
(Find Version History Section)
Kill GoogleCrashHandler.exe in any of its variants 32 or 64 bits or both.
Delete the Directories
C:\Program Files (x86)\Google\Update and
C:\Program Files (x86)\Google\CrashReporter
You will loose the ability to auto update (which is the whole purpose right) and
you will loose the ability to send crash reports and piggy back on that executable to update against your will whenever google deems convenient.
5.Disable Chrome Services

Selenium Standalone + Chrome driver, add capabilities from command line

I want to run some test using selenium standalone server on Google Chrome but i need to pass some ChromeOptions to the chrome driver from command line
Anybody has an idea of how can i do that?
Selenium Core, which is what you are referring to, was released before Chrome existed. Support for Chrome was added later. What you are asking for was never supported, and with Selenium Core deprecated several years back, it will probably never be supported.
One possible workaround is to set the desired options in the Chrome profile.
Another options, although much more painful, is to move up to Selenium WebDriver.

How to configure Brackets.io Live Development to use Chromium instead of Chrome on OSX?

I would like to reuse already installed in the system Chromium browser and do not additionally install Chrome (because then I can't use Chromium at the same time - they share one profile folder by default on OSX, also for other reasons)
Here are ideas, the problem is - they are just conceptual, not ready to implement:
edit Brackets configs (didn't find much of them) to call Chromium (how it calls)
edit Chromium configs (to mimic the Chrome?)
use dev tools remote debugger and connect to created web-socket
create link to Chromium via: sudo ln -s ~/Applications/Chromium.app/Contents/MacOS/Chromium /usr/bin/google-chrome // didn't work
connect to the simple static server from the folder (via httpster) // didn't work
How is it possible to use Chromium instead of Google Chrome to use Brackets' Live Development feature?
On Mac, Brackets locates Chrome based on its bundle identifier. So in theory, if you hack Chromium's Info.plist to change its bundle id to com.google.Chrome (and I guess remove or patch any copies of Chrome that might collide with that) -- then Brackets should launch Chromium for you.
In the future, Brackets plans to make this more configurable as an official feature - but it's not there yet.