做桌面应用自动化的java项目,现在在selenium 4.45里有了官方原生支持的新路径。selenium团队2026年6月16日发布的4.45版本,给java绑定新增了electronoptions 与 electrondriver,专门用来驱动electron应用;同版本还推出了 selenium-devtools-latest 构件。之前需要自己拼接chromium参数、手写驱动初始化逻辑的团队,这下electron场景正式纳入selenium java绑定的明确支持范围了。

来源:Selenium 官方博客
4.45版本另一个核心方向,是逐步减少不同语言绑定之间的重复实现逻辑。官方发版说明提到,isDisplayed、getAttribute 和 find-elements 这些共享原子操作,正从Closure迁移到TypeScript实现,之后会统一在JavaScript、Ruby、Java与.NET几个版本中生效。这类改动都在底层元素行为实现和构建层,升级验证别只看依赖能不能安装成功,重点要覆盖显示状态判断、属性读取与元素定位这些高频操作。
Grid的改动主要聚焦高并发稳定性:WebSocket代理修复了握手前的竞态问题,新增TCP背压与快速帧处理能力;在之前已经内置Redis SessionMap 的基础上,这次又补上了Redis后端 SessionQueue 支持,还新增了文件下载调试日志。这里要特别说明,后续4.46版本又修复了这个Redis SessionQueue的类路径打包问题,打算启用这个能力的部署别只停在4.45,还要同步评估更新版本的相关修复。

来源:SeleniumHQ 官方 GitHub
Python绑定新增了更上层的BiDi网络接口,覆盖请求、响应、认证处理和附加请求头场景,还会在调用 quit() 时自动关闭BiDi WebSocket。Ruby这边弃用了 curb HTTP客户端与Chromium Profile类,同时重新划分了 Service、DriverFinder 和 Options 的模块职责。.NET版本支持接入外部BiDi传输层,扩充了命令、事件与结果中的JSON数据字段,还给下载事件补充了下载ID。用这些语言绑定的项目,得照着自己实际的调用范围挑选回归测试项,别看到某一个语言的新特性,就默认所有绑定都有完全一致的接口。
Selenium Manager在4.45里会自动清理超过30天的缓存条目,还把TLS后端切换为 ring;整个构建体系升级到Bazel 9.1,发布流水线也增强了失败后重新运行时的稳定性。以上信息全部来自Selenium官方发布说明和GitHub正式发布页,没有涉及任何性能提升比例或兼容性承诺。用到Electron、BiDi、Redis队列和自定义缓存策略的项目,升级前仍需核对对应语言的详细变更记录,在现有浏览器、驱动和Grid配置上完成针对性验证。


















