VBA在提交按钮后从网页获取html正文

时间:2016-02-10 03:47:39

标签: html excel vba excel-vba web-scraping

我正在尝试在表单中提交信息后从网页解析数据。我能够填充表单,提交信息,并正确导航到结果。但是,一旦结果加载,我仍然从我导航到的原始页面获取html正文,而不是我使用IE.Document.Body.InnerHtml时的结果页面

如果我尝试刷新或导航到结果链接,结果将被清除,因为URL不包含表单中提交的信息。

我在IE.Document.Body.InnerHtml之前尝试过等待,但无论我等多久,我仍然可以获得原始页面的html正文。

有没有人知道另外一种方法呢?

这是相关的代码示例:

Sub GetSnowLoad()

Dim IE As Object
Dim htmlBody As Variant


Set IE = CreateObject("InternetExplorer.Application")
    IE.Top = 0
    IE.Left = 0
    IE.Width = 800
    IE.Height = 600
    IE.Visible = True

IE.Navigate ("http://snowload.atcouncil.org/")

Do
DoEvents
    If Err.Number <> 0 Then
        IE.Quit
        Set IE = Nothing

    End If
Loop Until IE.ReadyState = 4

IE.Document.getElementsByname("coordinate_lat").Item.innertext = Cells(2, 6).Value
IE.Document.getElementsByname("coordinate_lon").Item.innertext = Cells(2, 7).Value
IE.Document.getElementsByname("optionCoordinate").Item.Click
IE.Document.getElementsByname("btn-submit").Item.Click

htmlBody = IE.Document.Body.InnerHtml

End Sub

另一种可能的选择:是否有办法从新页面获取可见文本?

0 个答案:

没有答案