升级到Selenium Grid 4.0.0后Chrome Node无法注册到Selenium Hub问题求助
Selenium Grid 4对节点注册逻辑和环境变量配置做了不兼容升级,使用Grid 3的配置规则运行Grid 4镜像会触发404注册报错,需做以下调整:
- 首先保证Hub和Node镜像版本完全一致,必须指定明确的4.x版本标签,避免默认拉取latest版本出现版本不匹配问题
- 替换节点注册相关环境变量:Grid 4 弃用了原
HUB_HOST配置,改用事件总线通信,需要新增3个环境变量:SE_EVENT_BUS_HOST=selenium(对应Hub的服务名)SE_EVENT_BUS_PUBLISH_PORT=4442SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- 替换所有配置项的前缀:Grid 4 所有配置项前缀统一改为
SE_,原GRID_、NODE_前缀的配置不再生效:- Hub侧的
GRID_MAX_SESSION改为SE_GRID_MAX_SESSION - Node侧的
NODE_MAX_INSTANCES改为SE_NODE_MAX_INSTANCES - Node侧的
NODE_MAX_SESSION改为SE_NODE_MAX_SESSION
- Hub侧的
修改完成后的完整docker-compose配置参考如下:
version: '3.8' services: selenium: image: selenium/hub:4.0.0 ports: - 4444:4444 environment: SE_GRID_MAX_SESSION: 10 chrome: image: selenium/node-chrome-debug:4.0.0 shm_size: 2gb depends_on: - selenium environment: - SE_EVENT_BUS_HOST=selenium - SE_EVENT_BUS_PUBLISH_PORT=4442 - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 - SE_NODE_MAX_INSTANCES=10 - SE_NODE_MAX_SESSION=10 ports: - 5901:5900
重新启动服务后,访问Hub的4444端口UI控制台即可看到已正常注册的Chrome节点。
内容的提问来源于stack exchange,提问作者Arun Sasi
相关产品推荐
相关产品推荐

