Как проверить загрузку Ajax при утилизации с использованием VBA - PullRequest
0 голосов
/ 11 октября 2011
Private Sub CommandButton1_Click()

Dim webpage As String

webpage = GetWebpage("http://www.oddsportal.com/soccer/germany/bundesliga-2011-2012/b-moenchengladbach-bayer-leverkusen-806581/")

Debug.Print webpage
Sheet1.Cells(12, 1) = webpage
End Sub

Function GetWebpage(url As String, Optional fileName As String) As String

Dim xml As Object ' MSXML2.XMLHTTP
Dim result As String

  Set xml = GetMSXML

  ' grab webpage
 With xml
    .Open "GET", url, True
    .send
  End With

  GetWebpage = xml.responseText

  ' write to file?
 If Len(fileName) > 0 Then
    If Not FileExists(fileName) Then
      Call CreateFile(fileName, GetWebpage)
    Else ' file exists
     If MsgBox("File already exists, overwrite?", vbYesNo) = vbYes Then
        Call CreateFile(fileName, GetWebpage)
      End If
    End If
  End If

End Function

Function GetMSXML() As Object
  On Error Resume Next
  Set GetMSXML = CreateObject("MSXML2.XMLHTTP.6.0")
End Function

Sub CreateFile(fileName As String, contents As String)
' create file from string contents

Dim tempFile As String
Dim nextFileNum As Long

  nextFileNum = FreeFile

  tempFile = fileName

  Open tempFile For Output As #nextFileNum
  Print #nextFileNum, contents
  Close #nextFileNum

End Sub

Function FileExists(fileName As String) As Boolean
  FileExists = (Len(Dir(fileName)) > 0)
End Function

Этот код, который я использую, хорошо работает для статических или не AJAX-сайтов, но в случае AJAX контент отсутствует.

1 Ответ

0 голосов
/ 12 октября 2011

Если вопрос заключается в том, как проверить, что ajax запрашивает веб-страницу, вы можете посмотреть вкладку сети в области инструментов разработчика вашего браузера.

...