在不同的IE选项卡中执行操作



我想在一个选项卡中搜索城市,然后在另一个选项卡中打开生成的链接。如果我单独运行这些操作,一切都可以正常工作,但是我无法使其共同起作用。有什么错?

调试器指向.Document.getElementsByName("q")(0).Value = "Dublin"

运行时错误'-2147467259(80004005(':方法'document'对象 'iwebbrowser 2'失败

这是我的代码:

Option Explicit
Sub GetFlightRates()
Dim appIE As Object
Set appIE = CreateObject("internetexplorer.application")
With appIE
    .Navigate "https://maps.google.com"
    .Document.getElementsByName("q")(0).Value = "Dublin"
    .Document.getElementsByClassName("searchbox-searchbutton")(0).Click
    .Navigate "https://www.google.co.in/flights/", CLng(2048) '2nd
    .Visible = True
End With
Do While appIE.Busy
    DoEvents
Loop
'appIE.Quit
Set appIE = Nothing
End Sub

您需要一个页面加载等待,然后尝试访问.document

Option Explicit
Sub OpenTabs()
    Dim appIE As Object
    Set appIE = CreateObject("internetexplorer.application")
    With appIE
        .Visible = True
        .navigate "https://maps.google.com"
        While .Busy Or .readyState < 4: DoEvents: Wend
        .document.getElementsByName("q")(0).Value = "Dublin"
        .document.getElementsByClassName("searchbox-searchbutton")(0).Click
        .navigate "https://www.google.co.in/flights/", CLng(2048) '2nd
        While .Busy Or .readyState < 4: DoEvents: Wend
    End With
    Stop
    'appIE.Quit
    Set appIE = Nothing
End Sub

最新更新