在Excel/VBA中使用Selenium运行ChromeDriver时出现USB设备报错求助
解决VBA + Selenium ChromeDriver的USB设备错误日志问题
首先得跟你说,这个USB相关的错误日志大多时候只是“无影响的噪音”——你可以先确认下你的Test子过程是不是已经完成了打开谷歌、搜索关键词、点击搜索按钮这些预期操作。如果功能正常,那这个错误只是ChromeDriver和Windows USB设备交互时的小兼容性问题,不用太焦虑。
如果想要彻底消除这个错误,或者你的脚本确实因为这个问题卡住了,可以试试下面几个方法:
1. 升级ChromeDriver和Chrome浏览器版本
你当前用的ChromeDriver版本是v2.8.241075,这个版本非常老旧,和新版Chrome浏览器的兼容性很差,很容易出现这类无关的错误日志。
- 先打开Chrome浏览器,点击右上角三个点 → 设置 → 关于Chrome,查看你的Chrome主版本号(比如118.x.x.x)。
- 下载对应主版本的ChromeDriver,替换你当前项目里的旧版本文件。
- 重启Excel后再运行脚本,大概率能解决这个问题。
2. 通过ChromeOptions禁用USB设备扫描
在启动Chrome时添加特定参数,阻止Chrome扫描USB设备,从根源上避免这个错误。修改你的VBA代码如下:
Public Sub Test() Dim d As New WebDriver Dim options As New ChromeOptions Const URL = "https://www.google.com/" ' 添加禁用USB相关检测的参数 options.AddArgument "--disable-usb" options.AddArgument "--disable-usb-device-detection" With d .Start "Chrome", URL, options ' 传入配置好的options .get URL .findElementById("lst-ib").SendKeys "Selenium basic GitHub" .FindElementsByTag("form")(1).FindElementByCss("input[value='Google Search']").Click .Quit End With End Sub
这两个参数会让Chrome跳过USB设备的检测流程,自然就不会出现读取USB描述符失败的错误了。
3. 检查系统USB设备(可选)
如果上面两个方法都没用,可能是你的Windows系统里有某个USB设备的驱动异常。可以打开设备管理器,看看有没有带黄色感叹号的USB设备:
- 尝试更新该设备的驱动程序。
- 或者暂时禁用这个设备,再运行脚本看看错误是否消失。
内容的提问来源于stack exchange,提问作者Saskia Hermans
相关产品推荐
相关产品推荐

