Извлечение документа из href

1

Я делаю код для загрузки информации с веб-сайта. Моя проблема состоит в доступе к Href в выпадающем меню с подменю. Я перепробовал много кодов, но любой из них работает.

Ссылки с getElementById или getElementsByClassName не работают, потому что функции focus, click, selecteditems = "1" не поддерживаются этими объектами. Особенность выпадающего меню заключается в том, что сначала нужно управлять щелчком, а затем фокусировать их. После первого щелчка мышью по трем точкам, он отображает уникальную опцию "Экспорт", а при приближении к ней - еще три. Мне нужен последний, названный "Скачать связанные вычеты". Это код конкретного тега.

<a title="Download associated deductions" class="ajax" href="exportPaymentLineItems.lvp?requestUID=&amp;reportType=xls&amp;reportName=Payments and associated deductions&amp;ajax=true&amp;isDrillable=" target="_blank">
    <span class="prgx-icon excel-icon"></span> Download associated deductions
</a>

Это код, который я имею в VBA

Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
'...

IE.Document.getElementsByClassName("ajax").Click

Предыдущий в HTML-коде, первый щелчок, чтобы открыть выпадающее меню

<a class="btn btn-dots-vertical" id="dLabel" role="button" aria-expanded="true" href="#" data-toggle="dropdown" data-target="#">
</a>
<ul class="dropdown-menu multi-level dropdown-menu-right" role="menu" aria-labelledby="dropdownMenu">
    <li class="dropdown-submenu">
        <a tabindex="-1" href="#">Export</a>
        <ul class="dropdown-menu dropdown-menuright">

            <li><a title="Excel" href="supplierReport.lvp?requestUID=&amp;reportType=xls&amp;reportName=BasicClaimsPaymentReport" target="_blank"><span class="prgx-icon excel-icon"></span>Excel</a></li>
            <li><a title="CSV" href="supplierReport.lvp?requestUID=&amp;reportType=csv&amp;reportName=BasicClaimsPaymentReport" target="_blank"><span class="prgx-icon csv-icon"></span>CSV</a></li>
            <li><a title="PDF" href="supplierReport.lvp?requestUID=&amp;reportType=pdf&amp;reportName=BasicClaimsPaymentReport" target="_blank"><span class="prgx-icon pdf-icon"></span>PDF</a></li>

            'The one I need to click, download or copy to open in another explorer tab

            <li>
                <a title="Download associated deductions" class="ajax" href="exportPaymentLineItems.lvp?requestUID=&amp;reportType=xls&amp;reportName=Payments and associated deductions&amp;ajax=true&amp;isDrillable=" target="_blank">
                    <span class="prgx-icon excel-icon"></span> Download associated deductions
                </a>
            </li>

        </ul>
    </li>
</ul>

Чтобы загрузить документ, я ожидаю щелкнуть нужный класс, скопировать Href и вставить в новую вкладку проводника или просто начать загрузку с сектором запросов.

Теги:
web-scraping
drop-down-menu

1 ответ

0

Попробуйте селектор атрибута

ie.document.querySelector("[title=Excel]").click

ie.document.querySelector("[title='Download associated deductions']").click
  • 0
    Спасибо. Это все еще не работает из-за ошибки времени выполнения '424' (требуется объект). Вы знаете, к какому объекту это относится?
  • 0
    Второй код ... ("ajax") (0). Клик имеет ошибку во время выполнения '91' (переменная объекта или переменная блока не установлена).
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню