Selenium Grid使用JSON配置后出现driver.version unknown报错如何解决
Selenium Grid 同机器部署JSON配置启动能力匹配失败解决方案
核心问题确认
不需要填写完整Chrome版本号,仅提供主版本号即可满足匹配要求。你遇到的报错核心原因是Node配置中version字段类型不匹配,Selenium Grid 3.x版本进行能力匹配时,version字段为字符串类型,你配置中写的数字93和请求中的版本无法匹配。你看到的driver.version: unknown属于能力匹配失败的衍生提示,并非ChromeDriver未正确配置,不需要额外排查驱动安装问题。
解决步骤
- 修改Node JSON配置文件,将
capabilities下的version字段改为字符串类型:
{ "capabilities": [ { "browserName": "chrome", "maxInstances": 5, "seleniumProtocol": "WebDriver", "version": "93", "platform": "WIN10" } ], "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy", "maxSession": 5, "port": 5555, "register": true, "registerCycle": 5000, "hub": "http://localhost:4444", "nodeStatusCheckTimeout": 5000, "nodePolling": 5000, "role": "node", "unregisterIfStillDownAfter": 60000, "downPollingLimit": 2, "debug": false, "servlets" : [], "withoutServlets": [], "custom": {} }
- 先重启Selenium Grid Hub清除旧的节点注册缓存,再用修改后的配置启动Node。
- 访问Hub控制台
http://localhost:4444/grid/console,确认注册的Chrome能力版本显示为93,与测试代码中请求的版本一致后再运行测试。
额外排查方向
如果修改后仍报错,可按以下顺序排查:
- 确认Node上部署的ChromeDriver大版本为93,和Chrome浏览器版本对应
- 如果不需要严格控制浏览器版本,可直接删除Node配置和测试代码中的version字段,Grid会自动匹配可用的Chrome节点
- 确认测试代码中设置的platform参数为
WIN10,和Node配置保持一致
内容的提问来源于stack exchange,提问作者Marc Jagt
相关产品推荐
相关产品推荐

