Chrome升级至119后RSelenium报错:length(url) == 1 is not TRUE
解决RSelenium连接Chrome 119版本的报错问题
核心问题排查与修复步骤
1. 解决length(url) == 1 is not TRUE错误
该错误大概率是free_port()返回了非单个端口值,导致端口参数异常。可以直接指定固定可用端口测试:
client_server <- rsDriver( browser = "chrome", chromever = "119.0.6045.105", verbose = FALSE, port = 4567 # 替换为系统中未被占用的端口 )
若固定端口可行,说明free_port()的环境依赖有问题,可手动确认系统空闲端口后使用,或重新安装free_port()所属的依赖包。
2. 处理RSelenium版本兼容警告
警告提示包是基于R 4.3.2编译的,与当前R版本不匹配,重新安装RSelenium即可解决:
remove.packages("RSelenium") install.packages("RSelenium")
3. 确认chromedriver与Chrome的完全匹配
- 验证Chrome版本:在Chrome地址栏输入
chrome://version/,确认版本号为119.0.6045.105 - 确保chromedriver路径已加入系统环境变量
PATH,或手动指定路径:
client_server <- rsDriver( browser = "chrome", chromever = NULL, verbose = FALSE, port = 4567, extraCapabilities = list( chromeOptions = list( binary = "C:/Program Files/Google/Chrome/Application/chrome.exe", # 替换为你的Chrome安装路径 args = list("--no-sandbox") ), webdriver.chrome.driver = "C:/path/to/chromedriver.exe" # 替换为你的chromedriver路径 ) )
4. 解决服务器状态无法识别问题
- 关闭所有Chrome及chromedriver进程,避免端口占用
- 开启
verbose = TRUE查看详细启动日志,定位具体失败原因:
client_server <- rsDriver( browser = "chrome", chromever = "119.0.6045.105", verbose = TRUE, port = 4567 )
额外建议
- 暂时关闭Chrome自动更新,避免版本再次不匹配
- 运行代码时不要手动打开Chrome,防止进程冲突
内容的提问来源于stack exchange,提问作者Hello World
相关产品推荐
相关产品推荐

