Таблица в ответе HTML не найдена для анализа - PullRequest
0 голосов
/ 15 октября 2019

Я отправляю запрос POST, и я подтвердил, что ожидаемые данные есть.

При попытке проанализировать таблицу из этого текста ответа (HTML) VBA не может найти ни одной таблицы.

Option Explicit
Sub GetExchangeRates()

    Dim XMLPage As New MSXML2.XMLHTTP60
    Dim htmlDoc As New MSHTML.HTMLDocument

    Dim URL As String

    URL = "http://www.medmouic.org/Advanced/TrouverAdv"

    XMLPage.Open "POST", URL, False
    XMLPage.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    XMLPage.setRequestHeader "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3"
    XMLPage.send "imonumber=&val=0&Name=&selectFlag=333&selectType=&grossfrom=&grossTo=&yearFrom=&yearTo=&selectClass=&Countries=Selects+items&InspectResult=All&TypesDeficiencies=0&SortBy=Imo&fro=01.08.2019&to=31.08.2019"

    SaveHTMFile XMLPage.responseText
    htmlDoc.body.innerHTML = XMLPage.responseText

    ProcessHTMLPage htmlDoc

End Sub

Sub ProcessHTMLPage(HTMLPage As MSHTML.HTMLDocument)

    Dim HTMLTable As MSHTML.IHTMLElement
    Dim HTMLTables As MSHTML.IHTMLElementCollection
    Dim HTMLRow As MSHTML.IHTMLElement
    Dim HTMLCell As MSHTML.IHTMLElement
    Dim RowNum As Long, ColNum As Integer

    Set HTMLTables = HTMLPage.getElementsByTagName("table")

    For Each HTMLTable In HTMLTables
        Debug.Print HTMLTable.className
    Next HTMLTable

End Sub

«SaveHTMFile XMLPage.responseText» создает TXT-файл, в котором я нахожу таблицу. Я ожидал, что «Debug.Print HTMLTable.className» покажет «таблицу данных», которая является классом таблицы, но вместо этого у меня ничего нет.

<form method="post" action="/Advanced/TrouverAdv" id='myform'>

<table class="data-table" id="anyTable" >
    <!--- Sortby IMONUMBER---->
        <thead>
            <tr bgcolor="#428bca">
                <th>IMO Number</th>
                <th>Ship Name</th>
                <th>Flag state</th>
                <th>Date of  inspection</th>
                <th>Place of inspection</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>
                    9301433
                </td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...