I have been using WebSession to drive a Chrome browser for automation purposes. I'm running Mathematica 13.2 on Ubuntu Linux. Occasionally, my Chrome browser gets updated by an automatic OS process. Today, for the first time, when the program hits the "StartWebSession" command in my Mathematica program, I see this error message: "StartWebSession: Fails to match chrome driver download path from google site". My Chrome browser got updated to this version:Version 115.0.5790.102 (Official Build) (64-bit). I was able to download and install a chromedriver which matches that version. This procedure has worked consistently in the past, and now I get that error message.
1 Answer
EDIT: It may not work for everyone, but upgrading to 13.3.1 from 13.3 solved the issue for myself and several team members. However, the full outline of my "hack" process is still outlined below.
The issue arises from Wolfram using the chromedriver, but not having all the bugs worked out in terms of updating it. It seems Chrome browsers are updating themselves to version 115 and something in that is breaking things. Another possible issue is that as of today, the chromedriver for 115 is still listed as being for testing and I did encounter at least one issue where it required an additional work around.
This solution I am outlining is admittedly a bit of a hack, but I was able to get things to work on both my M2 Mac and my Windows 11 PC. Essentially what you need to do is manually replace the chromedriver file.
The first thing you need to do is find where Wolfram is storing the file. Easiest way is to run StartWebSession[]. If you error was like mine, you would get the warning message, but also a WebSessionObject. Click the plus sign on the WebSessionObject and then find the Driver Process that has a ProcessObject that can also be expanded. Under that, you will see a path. For my PC it was:
C:\Program Files\Wolfram Research\Mathematica\13.3\SystemFiles\Components\WebUnit\Resources\DriverBinaries\ChromeDriver\Windows-x86-64\102\chromedriver.exe
For my Mac, it was:
/Applications/Mathematica.app/Contents/SystemFiles/Components/WebUnit/Resources/DriverBinaries/ChromeDriver/MacOSX-ARM64/102/chromedriver
Since you are on Linux, it will be slightly different.
Next you are going to navigate to that folder on your computer to find the specific file.
Rename the file from chromedriver
to old-chromedriver
(or equivalent for your operating system). You are also going to want to rename the folder that indicates version number. In my case, it was 102 that I had to rename it to 115.
Next step is to download the new chromedriver. You can find them here: https://chromedriver.chromium.org/downloads.
Here is where it gets a bit funny. For my PC, I was able to click on the "Chrome for testing" link, then click Stable, then download the chromedriver zip file for mu OS and Processor and it worked. But on my Mac, I had to click on the 114 options and then download that processor/os specific zip file. It may take some trial and error to see if any of the files work for you.
Once you have the folder and original file renamed on your computer, you can copy the chromedriver file from the zip into the 115 folder and hope it works. Against, it might take some trial and error because only the 114 version worked for my Mac and only the 115 worked for my PC.
Hopefully Wolfram will get this sorted, but for now, these steps got me back up and running.
-
2$\begingroup$ Your suggested procedure fixed my problem. I still get the same error message, but my WebSession is alive and processes the commands I feed to it as usual. Thanks for helping me out. $\endgroup$ Commented Jul 28, 2023 at 20:29
-
$\begingroup$ I had something similar happen. That is where naming the folder to 115 but using the 114 chromedriver fixed the issue. $\endgroup$– kickertCommented Jul 29, 2023 at 21:57
-
1$\begingroup$ Worked for me in V13.3 using MacOS Ventura $\endgroup$– MurtaCommented Aug 16, 2023 at 0:50
-
$\begingroup$ @kickert Worked for me. At this moment I'm working on Version 116.0.5845.97 (Official Build) (64-bit) and downloaded the stable webdriver. Despite the driver works I still get the error message: StartWebSession::urlnotmatch: Fails to match chrome driver download path from google site Not sure what this exactly means. $\endgroup$– LouCommented Aug 22, 2023 at 8:53
-
1$\begingroup$ @kickert I upgraded to 13.3.1 but the error remains the same. MM did install anothe r webdriver than with version 13.3 but unfortunately to no avail. However.. I re-read your post and forgot to rename the folder. I uses 116 (instead of default 102) and now it works. Still a hack but a happy one. $\endgroup$– LouCommented Aug 22, 2023 at 13:58