VBA getElementById不适用于按钮

时间:2015-07-03 08:09:59

标签: html vba getelementbyid

我正在尝试访问网站,在文本框中键入值,然后单击搜索按钮以搜索我的值。 我的问题是,我无法获取按钮元素,以触发点击事件。

VBA:

Dim i As Long
Dim objElement As Object
Dim objCollection As Object
 Dim result(2) As String
Dim timeout As Integer

Dim test As Object 'testweise

If IE Is Nothing = False Then
    IE.Quit
End If
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True


Start:

' Send the form data To URL As POST binary request
IE.navigate "https://www.bundesanzeiger.de/ebanzwww/wexsservlet"

' Wait while IE loading...
Do While IE.Busy
    DoEvents
    Application.Wait DateAdd("s", 1, Now)
Loop
IE.Document.getElementbyid("genericsearch_param.fulltext").Value = "Mielke"
IE.Document.getElementbyid("(page.navid=to_quicksearchlist)").Click

HTML

<div class="bbg"><input name="(page.navid=to_quicksearchlist)" type="submit" alt="Suchen" value="Suchen"></div>

secont getElement调用应该获取按钮,但该对象为null。 有谁知道我在哪里犯了错误?

2 个答案:

答案 0 :(得分:2)

替换:

IE.Document.getElementbyid("(page.navid=to_quicksearchlist)").Click

使用:

Set x = IE.Document.GetElementsByName("(page.navid=to_quicksearchlist)")
x(0).Click

您需要按名称而非 ID

查找元素

答案 1 :(得分:0)

您正在使用getElementById,它会查找元素的id

您的输入按钮没有设置任何id属性,这就是您无法找到它的原因。

id属性添加一个值,您将看到它正常工作:

<input id="xyz" ... />

然后:

IE.Document.getElementbyid("xyz").Click
相关问题