На этом сайте много статей о том, как читать теги и таблицы на веб-сайтах с помощью Excel VBA, но я застрял здесь.
Этот веб-сайт дает мне информацию о местонахождении компаний после ввода почтового индекса.(«Где находится самое близкое местоположение относительно моего почтового индекса»)
Мне удалось перейти на сайт, ввести почтовый индекс и нажать «Отправить»:
Dim Browser As SHDocVw.InternetExplorer
Dim HTMLDoc As MSHTML.HTMLDocument
Set Browser = New SHDocVw.InternetExplorer ' create a browser
Browser.Visible = True ' make it visible
Application.StatusBar = ".... opening page"
Browser.navigate "https://www.thewebsite.com" ' navigate to page
WaitForBrowser Browser, 1 ' wait for completion or timeout
Application.StatusBar = "gaining control over DOM object"
Set HTMLDoc = Browser.document ' load the DOM object
WaitForBrowser Browser, 1
HTMLDoc.getElementById("ZipCode").Value = "28278"
HTMLDoc.getElementById("localTeamZipSubmit").Click
Сайт открывается и открываетсясоответствующий контент выглядит следующим образом:
<div>
<div class="columns">
<div class="column boldText paddingFive" style="padding-left: 20px; width: 70px;">
Location:
</div>
<div class="column paddingTopFive">CHARLOTTE</div>
</div>
<div class="columns">
<div class="column boldText paddingFive" style="padding-left: 20px; width: 120px;">
Location Number:
</div>
<div class="column paddingTopFive">102340</div>
</div>
<div class="columns">
<div class="column boldText paddingTopFive paddingLeftTwenty" style="vertical-align: top;">
Address:
</div>
<div class="column paddingTopFive paddingLeftTwenty">
<div>8848 Main St.</div>
<div>Suite F</div>
<div></div>
<div>Charlotte, NC 27218</div>
</div>
</div>
<div class="columns">
<div class="column boldText paddingFive" style="padding-left: 20px; width: 70px;">
Phone:
</div>
<div class="column paddingTopFive">(704) 911-4440</div>
</div>
<div class="columns">
<div class="column boldText paddingFive" style="padding-left: 20px; width: 70px;">
Fax:
</div>
<div class="column paddingTopFive">(704) 911-4441</div>
</div>
</div>
Как видите, в этом разделе нет таблицы, нет именованных тегов и классов, которые используются снова и снова.Я еще не смог прочитать эту информацию.Я был бы рад получить весь блоб в строку и разобрать его "
" Text = HTMLDoc.getEverything () "
Большое спасибо за вашу помощь !!!
Тем временем я нашел другой фрагмент кода, который я изменил, но я застрял в той же точке:
Публикация и отправка работает, но как получить ответ ....
{ Private Sub PostalCodes()
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
On Error GoTo errHandler
ie.Visible = 1
With ie
.navigate "https://www.pattersondental.com/ContactUs/MyLocalTeam"
Do While .busy: DoEvents: Loop
Do While .ReadyState <> 4: DoEvents: Loop
With .document.Forms("GetBranchFromZipForm")
.ZipCode.Value = "28273"
.submit
End With
' Do While Not CBool(InStrB(1, .document.URL, _
' "cp_search_response-e.asp"))
' DoEvents
' Loop
Do While .busy: DoEvents: Loop
Do While .ReadyState <> 4: DoEvents: Loop
' MsgBox .document.all.tags("Colums").Item(1).Rows(1).Cells(1).innerText
MsgBox .document.all.tags("Colums").innerText
' MsgBox .document}
Я думаю, мне нужно искать "нет", как разбирать HTML-документ ... ...
Добавить:
Кажется, что в то время как ie является допустимым (вокно просмотра) IE.Document пусто ... почему это может быть, веб-сайт все еще там с новыми данными. Я даже попробовал другой фрагмент кода, который ищет открытые веб-сайты в IE, он находит сайт (с правильными данными)но документ все еще пуст и getelementBY ... ничего не находит, конечно. Я собираюсь начать пить ...