Выбор выпадающих ссылок веб-страницы с помощью vba - PullRequest
0 голосов
/ 08 апреля 2020

Я пытался выбрать раскрывающуюся ссылку на веб-странице, используя VBA. Выпадающее меню сохраняет и сохраняет как ссылки. Вот код HTML:

<div class="save-menu" ng-if="!***">

    <div type="button" class="icon-save icon-save-disabled" ng-class="dispHeaderCtrl.canSave &amp;&amp; dispHeaderCtrl.isEnabled ? 'icon-save-enabled' : 'icon-save-disabled'" ng-click="dispHeaderCtrl.openSaveDialog()" id="save-button" title="Save">
        <svg class="t-icon-fill" version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="2 2 18 18" enable-background="new 0 0 24 24" xml:space="preserve">
        <path fill="#FFFFFF" d="M15.167,5.022H5.24v11.93h11.933V6.978L15.167,5.022z M12.805,6.328V9.63H11.5V6.328H12.805z M15.868,15.647
                                    H6.544V6.328h1.653v4.604h5.914V6.328h0.525l1.232,1.201V15.647z"></path>
        </svg>
    </div>


    <div title="Save As">

        <div ng-class="(dispHeaderCtrl.canSave || dispHeaderCtrl.canSaveAs) &amp;&amp; dispHeaderCtrl.isEnabled ? 'split-button-enabled' : 'split-button-disabled'" class="split-button split-button-enabled" ng-click="showSplitButton = !showSplitButton">

            <svg version="1.1" xmlns="http://www." xmlns:xlink="http://www.w3.org/" x="0px" y="0px" width="10.656px" height="10.313px" viewBox="0 0 14.656 14.313" enable-background="new 0 0 14.656 14.313" xml:space="preserve">
                <polygon fill="#FFFFFF" points="0,0 14.656,0 7.328,14.313 "></polygon>
            </svg>

        </div>


        <div style="position: fixed; top: 0px; left: 0px; height: 100%; width: 100%; z-index: 9998;" ng-show="showSplitButton" class=""></div><ul class="split-button-list" ng-show="showSplitButton" click-shield="showSplitButton = false;">

            <li ng-class="dispHeaderCtrl.canSave &amp;&amp; dispHeaderCtrl.isEnabled ? 'save-menu-item' : 'save-menu-item-disabled'" ng-click="dispHeaderCtrl.openSaveDialog(); showSplitButton = false;" class="save-menu-item-disabled">
                Save
            </li>

            <li ng-class="dispHeaderCtrl.canSaveAs &amp;&amp; dispHeaderCtrl.isEnabled ? 'save-menu-item' : 'save-menu-item-disabled'" ng-click="dispHeaderCtrl.openSaveAsDialog(); showSplitButton = false;" class="save-menu-item">
                Save As
            </li>

            <!---->
            <!---->
        </ul>
    </div>

 </div>

Я попробовал несколько кодов VBA, чтобы выбрать одну ссылку, которая была бы «Сохранить как». Ниже приведен код, который я использовал, но после запуска ничего не происходит с выпадающим меню. Код VBA -

Public Sub test()

   Dim IE As InternetExplorer
   Dim html As HTMLDocument
   Dim htmlInput As MSHTML.HTMLInputElement
   Dim htmlColl As MSHTML.IHTMLElementCollection


   Set IE = New InternetExplorerMedium
   IE.Visible = True

        'Define URL
    IE.Navigate2 " "

    Do While IE.Busy
        Application.Wait DateAdd("s", 1, Now)
    Loop

          Set html = IE.document
          Set htmlColl = html.getElementsByClassName("save-menu")
          Do While html.readyState <> "complete": DoEvents: Loop
            For Each htmlInput In htmlColl
                If htmlInput.getAttribute("value") = "Save As" Then
     htmlInput.Click
       Exit For
    End If
  Next htmlInput

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