我正在尝试访问网站,在文本框中键入值,然后单击搜索按钮以搜索我的值。 我的问题是,我无法获取按钮元素,以触发点击事件。
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。 有谁知道我在哪里犯了错误?
答案 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