Извлечь данные из обычного содержимого вкладки - PullRequest
0 голосов
/ 24 апреля 2020

@ QHarr, можете ли вы помочь мне в приведенном ниже коде, который вы написали для одного из вопросов на этом форуме переполнения стека .. У меня нет доступа, чтобы задать этот вопрос из того же поста, который я получил этот код. Так что я хотел бы спросить это как новый пост.

Мой вопрос : Этот код работал абсолютно безупречно и прекрасно, но в моем Html коде тела у меня есть два содержимого, т.е.

! - содержимое обычных вкладок - и! - mobile-tabs -

, когда я использую этот код, это извлекает оба URL-адреса из href-кодов в «обычном содержимом вкладок» и «Мобильное содержание вкладки». Я, что тянуть только обычные вкладки содержимого HREF URL. В древовидной структуре HTML есть два узла, связанных друг с другом. Пожалуйста, вы можете направить меня в этом коде.

<!-- regular tabs content -->

<div class="Right_Side" id="Work">
        <button class="btn-success primary btn" data-bind="visible: !$root.providerShouldAcceptDecline() &amp;&amp; !isOutsourced(), click : add">Consolidate</button>
        <div class="download">
        <a class="btn-default" href="#" data-bind="click : download, visible: $root.ViewModel.data().length > 0">
        </a>
        </div>
<div class="link">
            <a class="action" href="#" data-bind="click: $root.ViewModel.showDelete"></a>
            <a title="Before.jpg"class="app-action" style="padding-left: 0px;" href="example.com/Documents/Id=FileName=Check.jpg" target="_blank" data-bind="text:fileName">Check</a>
            <span class="data">
            <span data-bind="text:uploadDate">Second Month </span>
            </span>
            </div>
<div class="link">
            <a class="action" href="#" data-bind="click: $root.ViewModel.showDelete"></a>
            <a title="Before.jpg" class="app-action" style="padding-left: 0px;" href="example.com/Documents/Id=FileName=Check.jpg" target="_blank" data-bind="text:fileName">Check</a>
            <span class="data">
            <span data-bind="text:uploadDate">Second Month </span>
            </span>
       </div>
</div>
With IE
   .Visible = True
   .navigate "Example.com"
    While .Busy Or .readyState < 4: DoEvents: Wend
    Dim aNodeList As Object, i As Long
    Set aNodeList = IE.document.querySelectorAll(".app-action[href]")
    For i = 0 To aNodeList.Length - 1
    ActiveSheet.Cells(i + 2, 4) = aNodeList.item(i)
    Next
   'Quit '<== Remember to quit application
End With

Спасибо ..

1 Ответ

1 голос
/ 26 апреля 2020

Вы должны иметь возможность использовать селектор атрибута = значение в сочетании с селектором идентификатора для родительского узла:

For i = 0 To (ie.document.querySelectorAll("#Work [title]").Length- 2 ) /2 'assuming even length

html выглядит немного не так, и поэтому вышеприведенное просто наполовину возвращает возвращенный список узлов (предполагается, что равное разделение, поэтому между двумя вкладками)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...