You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac系统下Selenium Standalone Server 2.53.1启动死循环求助

解决R中启动Selenium 2.53.1阻塞及端口占用问题

问题根源

  • 直接执行system()命令启动Selenium服务器时,服务器会前台运行,占用R进程导致后续代码无法执行,终端也会因持续输出日志停滞。
  • 仅加&后台运行时,可能因未清理旧进程导致端口被占,或服务器输出未被正确重定向引发隐性冲突。

解决方案

1. 清理占用4200端口的旧进程

打开Mac终端,执行以下命令排查并杀掉占用端口的进程:

# 查看4200端口的占用进程
lsof -i :4200
# 替换<PID>为输出中的进程号,杀掉对应进程
kill -9 <PID>

2. 在R中正确后台启动Selenium 2.53.1

使用带输出重定向的命令,同时设置wait = FALSE让R不等待进程结束:

system("java -jar /Users/macbook/Documents/R/selenium-server-standalone-2.53.1.jar -port 4200 > /dev/null 2>&1 &", wait = FALSE)

参数说明:

  • > /dev/null:将服务器标准输出重定向到空设备,避免干扰R的输出流
  • 2>&1:将错误输出也重定向到标准输出(一同丢弃)
  • &:让服务器在后台运行
  • wait = FALSE:告诉R无需等待该命令执行完成,继续运行后续代码

3. 验证服务器状态并连接

启动后可在终端再次执行lsof -i :4200确认端口已被占用(表示服务器正常运行),然后用RSelenium指定端口连接:

library(RSelenium)
# 注意:Selenium 2.53.1需搭配对应版本的浏览器(如Firefox 47.x)
remDr <- remoteDriver(port = 4200, browserName = "firefox")
remDr$open()

4. 用完后关闭服务器

避免端口长期占用,执行以下命令杀掉Selenium 2.53.1进程:

system("pkill -f selenium-server-standalone-2.53.1.jar")

内容的提问来源于stack exchange,提问作者Flo2020

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 14:48:23