VBA调用Selenium出现Runtime error '33'问题求助
解决VBA Selenium Runtime Error 33及Chrome窗口闪退问题
一、先修复代码中的明显错误
你的代码里SendKeys行存在逻辑错误,ActiveSheet.Range("B10").Select是选中单元格操作,而非获取单元格值,这会导致参数类型错误;同时代码执行完毕后对象自动释放会直接关闭浏览器。修改后的代码如下:
Option Explicit Private ch As Selenium.ChromeDriver Sub ScrapeWiseOwlVideos() Set ch = New Selenium.ChromeDriver ' 若ChromeDriver不在系统PATH中,需指定完整路径,示例: ' ch.Start "C:\你的ChromeDriver路径\chromedriver.exe" ch.Start ch.Get "https://www.twittervid.com" ' 改为获取单元格的值,而非选中操作 ch.FindElementByName("url").SendKeys ActiveSheet.Range("B10").Value ' 添加等待,防止执行完直接关闭浏览器 ch.Wait 10000 ' 等待10秒,可按需调整 ' 如需手动控制关闭,可在需要时调用 ' ch.Quit End Sub
二、解决Runtime Error 33核心问题
这个错误大多源于Chrome浏览器与ChromeDriver版本不匹配,或ChromeDriver路径未正确识别:
- 查看Chrome浏览器版本:打开Chrome,点击右上角三个点→帮助→关于Google Chrome,查看版本号(如125.0.6422.142)。
- 下载对应版本的ChromeDriver:必须下载与Chrome大版本完全一致的ChromeDriver(比如Chrome是125.x,就下载125系列的ChromeDriver,小版本号可忽略)。
- 正确配置ChromeDriver路径:
- 方法1:将ChromeDriver.exe放到系统环境变量
PATH包含的文件夹中(如C:\Windows\System32)。 - 方法2:在代码的
ch.Start后指定完整路径,如上文代码注释所示。
- 方法1:将ChromeDriver.exe放到系统环境变量
三、额外排查点
- 确认Excel的VBA引用中,Selenium库的版本正确且已勾选:打开VBA编辑器→工具→引用,确保
Selenium Type Library已勾选。 - 关闭Chrome的自动更新:避免浏览器版本自动升级导致再次不匹配,可在Chrome设置中关闭自动更新。
内容的提问来源于stack exchange,提问作者fleeto
相关产品推荐
相关产品推荐

