симуляция щелчка мышью для загрузки файла из браузера IE - PullRequest
0 голосов
/ 16 апреля 2020

Пример панели инструментов Привет, ребята, пытаюсь смоделировать щелчок мышью по форме в браузере для загрузки отчета, но не удается. я сразу застрял при нацеливании на ссылку для скачивания / изображение. я также понимаю, что форма использует метод post для извлечения файла, поэтому я не уверен, достаточно ли просто имитации щелчка мышью по ссылке / изображению. Огромное спасибо.

Sub TestDownload()
Dim elements As Object, element As Object, count As Long
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")

IE.Visible = True
IE.Navigate "https://something.com/Dashboard"

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

count = 0
Set elements = objIE.document.getElementsByTagName("a")

For Each element In elements
    If element.className = "ExportCurrentExtInt" Then
               element.Click
    End If
Next

End Sub

<form id="myForm" name="myForm" method="post" action="/NSPortal/Dashboards/CEPDashboard">
    <input type="hidden" name="ReportDate" id="ReportDate" value="4/1/2020" />
    <input type="hidden" name="Domain" id="Domain" value="" />
	**<input type="hidden" name="SubmitButton" id="SubmitButton" value="jqGridExportToExcel"> *--> the value appears when i click on the link to initiate the download*
    <input type="hidden" name="ExportTarget" id="ExportTarget" value="ExportCurrentExtInt">**
    <input type="hidden" name="ExportFilterField" id="ExportFilterField" value="" />
    <input type="hidden" name="ExportFilterValue" id="ExportFilterValue" value="" />
    <input type="hidden" name="OpenTab" id="OpenTab" value=""/>
    <table id='tableDateSelection' border='0' cellpadding='0' cellspacing='0' width='100%' style='border-color: #F5F5F5'>

</select>

                                <tr>
                                    <td class="RoundedPanelCenterLeft"></td>
                                    <td><a id="ExportCurrentExtInt">Export Current EXT-INT Interfaces &nbsp;<img style="vertical-align:top" alt="Export current EXT-INT Interfaces to Excel" src="/NSPortal/Content/Images/excel.gif" border="0"/></a></td>
                                    <td class="RoundedPanelCenterRight"></td>
                                </tr>

</form>

Я пытался использовать ID элемента, но он выдает ошибку.

Do
DoEvents
Loop Until IE.readyState = READYSTATE_COMPLETE

objIE.document.getElementById("ExportTarget").Click

End Sub
...