R:是否可以直接在R中下载最新版本的Google Chrome?

问题描述 投票:0回答:2

我正在使用 R 编程语言。

我正在使用 Selenium 库。

早些时候(2023 年 8 月),我的代码运行时没有任何问题 - 但现在(2023 年 11 月)我收到以下错误:

 library(RSelenium)
 library(wdman)
 library(netstat)
 
> selenium()
checking Selenium Server versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
....
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
$process
PROCESS 'file27547a8c5781.bat', running, pid 14124.
    
    binman::list_versions("chromedriver")
$win32
[1] "113.0.5672.63" "114.0.5735.16" "114.0.5735.90"

 seleium_object <- selenium(retcommand = T, check = F)
 
 remote_driver <- rsDriver(browser = "chrome", chromever = "114.0.5735.90", verbose = F, port = free_port())

Selenium message:session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 119.0.6045.105 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe
Build info: version: '4.0.0-alpha-2', revision: 'f148142cf8', time: '2019-07-01T21:30:10'
System info: host: 'LAPTOP-4N315DJ4', ip: '192.168.2.249', os.name: 'Windows 11', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_341'
Driver info: driver.version: unknown
remote stacktrace: Backtrace:
    GetHandleVerifier [0x00ECA813+48355]


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.

#################################
# rest of R/selenium script (currently does not work
#remDr =  remote_driver
#remDr$navigate("https://www.google.com/maps")


# Search for the CN Tower
#search_box <- remDr$findElement(using = 'css selector', "#searchboxinput")
#search_box$sendKeysToElement(list("CN Tower", key = "enter"))

#Sys.sleep(5)

# Get the URL of the current page
#url <- remDr$getCurrentUrl()[[1]]

# Extract the longitude and latitude from the URL
#long_lat <- gsub(".*@(-?[0-9.]+),(-?[0-9.]+),.*", "\\1,\\2", url)
#long_lat <- unlist(strsplit(long_lat, ","))
###############################################

我使用的 Chrome 版本似乎有问题。不过,我的 Chrome 版本似乎正确?

为了使我的代码更加流畅,我想修改我的代码,以便它下载最新版本的 Chrome/驱动程序并自动解决此问题。

可以直接在R中执行此操作吗?

谢谢!

> sessionInfo()
R version 4.1.3 (2022-03-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 22621)

Matrix products: default

locale:
[1] LC_COLLATE=English_Canada.1252  LC_CTYPE=English_Canada.1252    LC_MONETARY=English_Canada.1252 LC_NUMERIC=C                   
[5] LC_TIME=English_Canada.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] netstat_0.1.2   wdman_0.2.6     RSelenium_1.7.9 duckdb_0.7.1-1  DBI_1.1.3      

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.8.3       rstudioapi_0.13    xml2_1.3.3         knitr_1.39         rappdirs_0.3.3     R6_2.5.1          
 [7] rlang_1.0.6        fastmap_1.1.0      httr_1.4.4         caTools_1.18.2     tools_4.1.3        xfun_0.30         
[13] binman_0.1.3       tinytex_0.45       KernSmooth_2.23-20 cli_3.4.1          e1071_1.7-9        semver_0.2.0      
[19] htmltools_0.5.3    class_7.3-20       yaml_2.3.5         digest_0.6.29      assertthat_0.2.1   processx_3.8.0    
[25] ps_1.7.2           bitops_1.0-7       curl_4.3.2         evaluate_0.19      rmarkdown_2.14     proxy_0.4-26      
[31] compiler_4.1.3     classInt_0.4-3     jsonlite_1.8.4    
r rselenium
2个回答
0
投票

该错误是由于 Chrome 和 ChromeDriver 版本不兼容而导致的。错误消息“此版本的 ChromeDriver 仅支持 Chrome 版本 X”表示 ChromeDriver 与系统中安装的 Chrome 版本不兼容。解决这个问题的方法是: 更新 ChromeDriver:下载与 Chrome 浏览器兼容的最新版本 ChromeDriver。请在 ChromeDriver 官方网站上查看 ChromeDriver 的最新版本。 重新安装 ChromeDriver:如果 ChromeDriver 版本兼容,请重新安装 R/Selenium 脚本中的新版本 ChromeDriver。 验证兼容性:重新安装 ChromeDriver,执行 R/Selenium 脚本以验证问题的解决方案。 请注意以下步骤,解决版本不兼容问题并纠正 Chrome 使用 R/Selenium 的问题。


0
投票

我不知道你想用 selenium 在 r 中做什么。您是在测试网站还是抓取

如果您正在抓取,我建议找到一种使用 chromium 而不是 chrome selenium 驱动程序的方法。通常的实现是下载 chromium 浏览器,然后与它进行交互,类似于 selenium 与 chrome 的交互。最大的优点是您不会出现版本不匹配、chrome 未更新或 selenium chrome 驱动程序版本不匹配的情况。您可以选择要使用的 chromium 版本,并且仅当您指定新版本时它才会更改。

© www.soinside.com 2019 - 2024. All rights reserved.