Selenium message:session not created: This version of ChromeDriver only supports Chrome version 88
adrearlystate opened this issue · comments
Operating System
Windows 10
Selenium Server version (selenium-server-standalone-3.0.1.jar etc.)
RSelenium version 1.7.7
Browser version (firefox 50.1.0, chrome 54.0.2840.100 (64-bit) etc.)
Chrome Version 87.0.4280.88 (Official Build) (64-bit)
Other driver version (chromedriver 2.27, geckodriver v0.11.1, iedriver x64_3.0.0, PhantomJS 2.1.1 etc.)
> chrome_driver_version
[1] "87.0.4280.88"
Expected behaviour
rD <- rsDriver(browser=c("chrome"), chromever="87.0.4280.88", port = 4444L)
This code should open a chrome browser
Actual behaviour
> rD <- rsDriver(browser=c("chrome"), chromever="87.0.4280.88", port = 4444L)
checking Selenium Server versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking chromedriver versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking geckodriver versions:
BEGIN: PREDOWNLOAD
Error in open.connection(con, "rb") : HTTP error 403.
> traceback()
13: open.connection(con, "rb")
12: open(con, "rb")
11: parse_con(txt, bigint_as_char)
10: parseJSON(txt, bigint_as_char)
9: parse_and_simplify(txt = txt, simplifyVector = simplifyVector,
simplifyDataFrame = simplifyDataFrame, simplifyMatrix = simplifyMatrix,
flatten = flatten, ...)
8: jsonlite::fromJSON(url)
7: (function (url, platform, history, appname, platformregex = platform,
versionregex = c("", ""))
{
assert_that(is_URL_file(url))
assert_that(is_character(platform))
assert_that(is_integer(history))
assert_that(is_string(appname))
assert_that(is_character(platformregex))
ghdata <- jsonlite::fromJSON(url)
version <- ghdata[["tag_name"]]
version <- gsub(versionregex[1], versionregex[2], version)
get_args <- function(version, assets) {
file <- assets[["name"]]
url <- assets[["browser_download_url"]]
plat <- match_platform(file, platform, platformregex)
res <- data.frame(file = file, url = url, version = version,
platform = plat, stringsAsFactors = FALSE)
stats::na.omit(res)
}
res <- Map(get_args, version = version, assets = ghdata[["assets"]])
res <- do.call(rbind.data.frame, c(res, make.row.names = FALSE))
res <- split(res[, c("version", "url", "file")], f = res[["platform"]])
res <- lapply(res, utils::head, history)
assign_directory(res, appname)
})(url = "https://api.github.com/repos/mozilla/geckodriver/releases",
platform = "win64", history = 3L, versionregex = c("^v",
""), appname = "geckodriver")
6: do.call(ymlfuncs[[c("predlfunction", "function")]], ymlfuncs[[c("predlfunction",
"args")]])
5: process_yaml(tempyml, verbose)
4: gecko_check(verbose, check)
3: selenium_check_drivers(chromever, geckover, phantomver, iedrver,
check = check, verbose = verbose, jvmargs)
2: wdman::selenium(port = port, verbose = verbose, version = version,
chromever = chromever, geckover = geckover, iedrver = iedrver,
phantomver = phantomver, check = check)
1: rsDriver(browser = c("chrome"), chromever = "87.0.4280.88", port = 4444L)
> rsDriver(check = FALSE)
[1] "Connecting to remote server"
Selenium message:session not created: This version of ChromeDriver only supports Chrome version 88
Current browser version is 87.0.4280.88 with binary path C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
Build info: version: '4.0.0-alpha-2', revision: 'f148142cf8', time: '2019-07-01T21:30:10'
System info: host: 'XXXXXXXX', ip: 'XXXXXXXXXX', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_111'
Driver info: driver.version: unknown
remote stacktrace: Backtrace:
GetHandleVerifier [0x013E8A43+483]
GetHandleVerifier [0x013E8A21+449]
GetHandleVerifier [0x017913C8+3836776]
GetHandleVerifier [0x017AB73A+3944154]
GetHandleVerifier [0x017A7B9A+3928890]
GetHandleVerifier [0x017A5E7C+3921436]
GetHandleVerifier [0x017CC89E+4079678]
GetHandleVerifier [0x017CC60C+4079020]
GetHandleVerifier [0x017C938B+4066091]
GetHandleVerifier [0x017ACDB4+3949908]
GetHandleVerifier [0x017ADC6E+3953678]
GetHandleVerifier [0x017ADBF9+3953561]
Ordinal0 [0x013B6A8C+92812]
Ordinal0 [0x013B0572+66930]
Ordinal0 [0x013B0142+65858]
GetHandleVerifier [0x016B47B8+2932568]
GetHandleVerifier [0x014F12EE+1084046]
GetHandleVerifier [0x014A8B3D+787165]
GetHandleVerifier [0x014A855B+785659]
GetHandleVerifier [0x014A8471+785425]
GetHandleVerifier [0x014DB7B3+995155]
BaseThreadInitThunk [0x76058494+36]
RtlAreBitsSet [0x77774328+136]
RtlAreBitsSet [0x777742F8+88]
Could not open chrome browser.
Client error message:
Summary: SessionNotCreatedException
Detail: A new session could not be created.
Further Details: run errorDetails method
Check server log for further details.
$client
[1] "No sessionInfo. Client browser is mostly likely not opened."
$server
PROCESS 'file4e647424500a.bat', running, pid 22364.
Steps to reproduce the behaviour
Code should be reproduceable as is
Analysis
RSelenium seems to be defaulting to Chrome version 88 and I have no way of updating to that version since it hasn't been released yet as a stable version by Chrome. What can I do in the meantime to revert the RSelenium chrome driver version back to 87.0.4280.88 , which is the latest stable version?