我有这个简单的宏,可以打开IE并在搜索框中输入单词。它曾经在工作,但现在又回来了
错误424-必需的对象。
有什么想法吗?我缺少任何lib参考吗?
Sub AcessaPaginaDados()
Dim xobj As HTMLDivElement
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.Navigate ("https://www.google.com/")
Do While ie.Busy Or ie.readyState <> 4
DoEvents
Loop
Set xobj = ie.document.getElementById("lst-ib")
Call xobj.setAttribute("value", "teste")
End Sub
答案 0 :(得分:1)
当我打开google时,该ID不会出现在输入框中。您可以使用attribute = value选择器来定位搜索框的title
属性。右键单击检查搜索框,然后查看title =的本地语言属性值。在英国,该值为Search
。使用任何本地值。
元素html:
其他
:此外,.navigate2
是首选方法。
如果页面加载缓慢,则可能需要循环直到出现元素。
Option Explicit
Public Sub AcessaPaginaDados()
Dim xobj As HTMLDivElement
With CreateObject("InternetExplorer.Application")
.Visible = True
.Navigate2 "https://www.google.com/"
While .Busy Or .readyState < 4: DoEvents: Wend
Set xobj = .document.querySelector("[title=Search]")
xobj.Value = "teste"
Stop
.Quit
End With
End Sub