You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBA Selenium出现Type Mismatch类型不匹配错误求助

VBA Selenium 运行时错误13(类型不匹配)解决方法
  • 错误原因:
    你声明的H2Headers是**Selenium.WebElements(元素集合类型),但调用的FindElementByTag方法返回的是单个Selenium.WebElement对象**,两者类型不兼容,直接赋值触发了类型不匹配错误。

  • 解决方案分两种场景:

场景1:需要获取页面中所有<h2>元素(集合)

把FindElementByTag替换成复数形式的FindElementsByTag,这个方法会返回匹配的所有元素组成的WebElements集合,和变量类型匹配。修正后的代码:

Private ch As Selenium.ChromeDriver

Sub TestSelenium()
    
    Set ch = New Selenium.ChromeDriver
    
    ch.Start
    ch.Get "https://en.wikipedia.org/wiki/Main_Page"
    
    Dim H2Headers As Selenium.WebElements
    
    Set H2Headers = ch.FindElementsByTag("h2") ' 改为复数方法
    
    Debug.Print H2Headers.Count ' 可正常打印集合的元素数量

End Sub

场景2:只需要获取页面中第一个<h2>元素

把变量声明改成单个元素类型Selenium.WebElement,同时注意单个元素没有Count属性,需调整后续操作,比如打印元素文本:

Private ch As Selenium.ChromeDriver

Sub TestSelenium()
    
    Set ch = New Selenium.ChromeDriver
    
    ch.Start
    ch.Get "https://en.wikipedia.org/wiki/Main_Page"
    
    Dim H2Header As Selenium.WebElement ' 改为单个元素类型
    
    Set H2Header = ch.FindElementByTag("h2")
    
    Debug.Print H2Header.Text ' 打印第一个h2的文本内容

End Sub

内容的提问来源于stack exchange,提问作者SSG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 03:30:52