Страницы: 1
RSS
Как кликнуть кнопку в internet explorer через vba?, нажать на кнопку "Скачать" для скачивания таблицы
 
Здравствуйте! Хочу скачать файл excel из сайта, для этого нужно кликнуть кнопку "скачать". Зашел на сайт, но не могу кликнуть кнопку. Вот мой код, но выдает ошибку

Можете еще помочь с тем, чтобы скачанный файл не сохраняясь просто открывался?

Огромное спасибо!
Код
НАЗВАНИЕ КНОПКИ НА САЙТЕ HTML
<button class="button2 button2_theme_action button2_size_m button2_role_download button2_view_classic f-answers-export__button i-bem button2_js_inited" 
data-bem="{"button2":{}}" type="button" autocomplete="off" aria-disabled="false" tabindex="0"><span class="button2__text">Скачать</span></button>

button2_role_download (определяющий класс)
Код
Sub IE()

Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = True
    IE.Navigate ("https://forms.yandex.ru/admin/6007198fdfc5ae138636cf68/answers")
   
    IE.document.getelementbyclassname("button2_role_download").Submit (Ошибка: method document of object iwebbrowser2 failed)

End Sub
 
Здравствуйте.
Во-первых, не .Submit а .Click
Во-вторых, не надо изобретать несуществующие методы типа getelementbyclassname

Задам примерно направление, куда копать:
Код
IE.Navigate ...

Do While IE.Busy Or (IE.ReadyState < 4)
    DoEvents ' ждем пока страница прогрузится
Loop

Dim objEL As Object, SearchRange As Object
Set SearchRange = IE.document.body.GetElementsByTagName("button")
For Each objEL In SearchRange ' перебираем все теги button
    If objEL.outerHTML Like "*button2_role_download*" Then
        objEL.Click
        Exit For
    End If
Next objEL
Изменено: Игорь - 20.01.2021 20:55:31
 
Я нашел ответ!!! Решение оказалось проще, чем я думал. Пишу ответ сюда, вдруг кому пригодится!

Если кнопка такая
Код
<button type="button" tabindex="0" id="upload_campaign_btn1518922861874-button">Скачать</button>
То кликнем на нее вот так:
Код
For Each Obj In ObjIE.document.getElementsByTagName("button")
If Obj.innertext = "Скачать" Then
Obj.Click
End If
Next
Изменено: Anton_Kozlov - 21.01.2021 12:19:34
 
Цитата
Anton_Kozlov написал:
Я нашел ответ
Сопоставление текстов в #2 и #3 показывает, что это утверждение спорно. :)  
Владимир
 
sokol92,Ну этот метод для меня сработал. Если он сработал значит не спорно, верно?)
 
Цитата
Anton_Kozlov написал:
Если он сработал значит не спорно
все же спорно, наверное, т.к. код кнопки в первом сообщении отличается от того, который в решении приведен. Но в любом случае хотя бы есть что пробовать тем, у кого возникнет такая же проблема.
P.S. Ну и надо сказать, что Ваше решение очень незначительно отличается от кода, который в качестве примера привел Игорь.
Изменено: Дмитрий(The_Prist) Щербаков - 21.01.2021 14:47:23
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх