0

我正在尝试使用 VBA 在输入框中输入一个值,但没有运气!下面是我的代码和网站上的 HTML

网站打开后的VBA:

IE.GetElementByID("searchForm").Value = "test"

HTML 检查元素

<form class="well well-search hidden-print" id="searchForm" 
    <div class="row">
        <div class="col-sm-4">
            <input name="search" class="form-control" type="text" size="20" maxlength="20" value="">
        </div>
        <div class="col-sm-2 col-sm-offset-6 right">
            <label>&nbsp;</label>
            <button class="btn btn-success btn-xs showLoadingText form-control" type="submit" data-loading-text="searching...">Search</button>
        </div>
    </div>
</form>
4

1 回答 1

0

您的IE变量具有作为 InternetExplorer 应用程序的视觉表示,因此我假设下面的代码块不是您设置IE对象的方式(这将是一件好事)。

但是话虽如此,我没有看到你在哪里设置IE,但如果你没有这样做:

Set IE = objIE.Document

那么您尝试做的正确语法是:

IE.Document.GetElementByID("searchForm").Value = "test"

这是假设您在尝试抓取您的元素之前已经确保网页已完全加载。如果您没有确保这一点,那么您需要在使用元素之前添加以下语句:

Do While IE.Busy Or IE.ReadyState < 4
    DoEvents
Loop
于 2018-02-09T16:35:59.560 回答