getElementsByClassName в VBA выдает ошибку: объект не поддерживает это свойство или метод - PullRequest
0 голосов
/ 13 января 2020

Раскрытие информации: я офисный клерк, пытаюсь автоматизировать самую скучную часть моей работы по копированию и вставке, и у меня 0 знаний о VBA или HTML. Спасибо за ваше терпение со мной.

Мне удалось успешно проанализировать необходимые мне страницы intr anet, используя GetElementByID, однако этот конкретный фрагмент информации не имеет идентификатора.

Я попытался получить он использует GetElementsByClassName, но выдает ошибку выше, и я не могу понять, почему. Кажется, это работает для других людей, а не для меня.

Это мой код.

Sub ExtractFromEndeca()
 Dim ie As InternetExplorer
 Dim html As IHTMLDocument
 Dim DescData As MSHTML.IHTMLElementCollection
 Set ie = CreateObject("InternetExplorer.Application")
 ie.Visible = False
 ie.Navigate Range("h3")
 While ie.Busy
     DoEvents
     Wend
     While ie.ReadyState < 4
     DoEvents
     Wend
     Set doc = CreateObject("htmlfile")
     Set doc = ie.document
     Set DescData = doc.getElementsByClassName("propertyList")
     Set Data = doc.getElementById("findSimilarOptions2")
     Sheet3.Cells(1, 1) = Data.innerText
     Sheet3.Cells(100, 1) = DescData.innerText
     ie.Quit
     Set ie = Nothing

End Sub

Это фрагмент HTML со страницы intr anet, который мне требуется.

<table class="propertyList" cellpadding="0" cellspacing="0" width="100%">
<thead>
    <th width="60px">&nbsp;</th>
    <th align="left" colspan=1 width="130px" nowrap>Item Information</th>
    <th>&nbsp;</th>

</thead>


    <tr>
    <td rowspan=6 valign=top width="60px"><a href="Wierd looking link"><img border=0 alt="Locate Item" src="Wierd Gif"></a>
    </td>
    <td valign=top nowrap><b>Property(1)</b></td>
    <td>Value(1)</td>


    </tr>
    <tr>
        <td nowrap><b>Property(2)</b></td>
        <td>Value(2)</td>
    </tr>
    <tr>
        <td nowrap><b>Property(3)</b></td>
        <td>Value(3)</td>
    </tr>
    <tr>
        <td nowrap><b>Property(4)</b></td>
        <td>Property(4)</td>
        </tr>
    <tr>
        <td nowrap><b>Property(5)</b></td>
        <td>Value(5)</td>
    </tr>
    <tr>
        <td nowrap><b>Property(6)</b></td>
        <td>Value(6)</td>
    </tr>
    </table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...