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

Excel VBA使用Selenium操作Chromedriver时如何触发Enter键完成搜索

VBA Selenium Chromedriver触发Enter键搜索失效解决方案

你当前触发回车失效的核心原因是VBA环境下Selenium Basic的按键常量调用方式有误,以下是3种可直接运行的解决方案:

方案1:使用ASCII回车字符(兼容性最高,无需引用枚举)

直接发送回车对应的ASCII码Chr(13),不需要依赖Selenium的按键枚举,适配所有版本的Selenium Basic:

WDriver.FindElementById("searchField").SendKeys Chr(13)

方案2:正确调用Selenium内置按键常量

你之前的Keys.Enter写法遗漏了Selenium命名空间,VBA无法识别该常量,修正后写法:

WDriver.FindElementById("searchField").SendKeys Selenium.Keys.Enter

如果调用时提示未定义,需要在VBA编辑器的「工具-引用」中勾选Selenium Type Library即可。

方案3:直接点击搜索按钮(稳定性更高)

无需模拟回车,直接定位页面搜索按钮触发搜索,避免按键事件被页面拦截的问题,可根据页面实际元素属性调整定位方式:

WDriver.FindElementByCss("button[aria-label='搜索地址']").Click

修正后的完整参考代码

Dim WDriver As New WebDriver

Sub Q_Streets_TxtBox()
    ' 打开Chrome并跳转至评估员电子地图网页
    WDriver.Start "chrome", ""
    WDriver.Get "https://maps.boco.solutions/propertysearch/"
    WDriver.Window.Maximize
    ' 等待页面加载完成,单位为毫秒
    WDriver.Wait 7000
    
    Dim acct_addr As String
    acct_addr = "1327 AGAPE WAY"
           
    ' 操作搜索框
    With WDriver.FindElementById("searchField")
        .Clear
        .SendKeys acct_addr
        ' 此处用方案1触发回车,可替换为其他方案
        .SendKeys Chr(13)
    End With

    ' 后续操作
End Sub

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:54:03