Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Пауза до полной загрузки HTML-кода страницы в браузере IE - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Пауза до полной загрузки HTML-кода страницы в браузере IE (Макросы/Sub)
Пауза до полной загрузки HTML-кода страницы в браузере IE
giovanni Дата: Пятница, 11.08.2017, 14:04 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 37
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Добрый день!

Подскажите, пожалуйста, по вопросу полной загрузки веб страницы.
Сразу оговорюсь, что понимаю в данном вопросе мало)
Ситуация следующая. Есть сайт с множеством javascript. На сайте есть формы, кнопки, которые, как я понимаю, динамически подгружаются. К примеру, идет выбор из списка меню после того, как выбор сделан, подгружается рядом еще одно меню, где так же надо сделать выбор. Опираясь на свои небольшие знания, сделал вывод, что страницы динамическая, все действия происходят при помощи скриптов javascript.
Появилась необходимость написания скрипта под заполнение форм и нажатие кнопок на описанном сайте. С одной стороны, проблем особых быть не должно: берется HTML элемент по классу и в него записывается текст. Но на практике получилось сложнее, и, как я понимаю, потому, что VBA не успевает увидеть новые подгруженные в дерево HTML теги и элементы. В связи с чем макрос не работает корректно и выдает ошибки, видимо, не находя какие-то новые className или теги.
Исходя из всего сказанного, появилась мысль: возможно, в таком случае в VBA есть какой либо прием для того, чтобы дождаться загрузки HTML кода страницы? Немного знаком с READYSTATE, но как его применить в данном конкретном случае - уровень знания понять не позволяет )

Подскажите, пожалуйста, можно ли в VBA сделать такую паузу, чтобы, к примеру, подгружаемые на страницу новые HTML элементы успевали полностью загрузиться и макрос после этого переходил бы на следующую строчку кода?

Спасибо!
 
Ответить
СообщениеДобрый день!

Подскажите, пожалуйста, по вопросу полной загрузки веб страницы.
Сразу оговорюсь, что понимаю в данном вопросе мало)
Ситуация следующая. Есть сайт с множеством javascript. На сайте есть формы, кнопки, которые, как я понимаю, динамически подгружаются. К примеру, идет выбор из списка меню после того, как выбор сделан, подгружается рядом еще одно меню, где так же надо сделать выбор. Опираясь на свои небольшие знания, сделал вывод, что страницы динамическая, все действия происходят при помощи скриптов javascript.
Появилась необходимость написания скрипта под заполнение форм и нажатие кнопок на описанном сайте. С одной стороны, проблем особых быть не должно: берется HTML элемент по классу и в него записывается текст. Но на практике получилось сложнее, и, как я понимаю, потому, что VBA не успевает увидеть новые подгруженные в дерево HTML теги и элементы. В связи с чем макрос не работает корректно и выдает ошибки, видимо, не находя какие-то новые className или теги.
Исходя из всего сказанного, появилась мысль: возможно, в таком случае в VBA есть какой либо прием для того, чтобы дождаться загрузки HTML кода страницы? Немного знаком с READYSTATE, но как его применить в данном конкретном случае - уровень знания понять не позволяет )

Подскажите, пожалуйста, можно ли в VBA сделать такую паузу, чтобы, к примеру, подгружаемые на страницу новые HTML элементы успевали полностью загрузиться и макрос после этого переходил бы на следующую строчку кода?

Спасибо!

Автор - giovanni
Дата добавления - 11.08.2017 в 14:04
SLAVICK Дата: Пятница, 11.08.2017, 15:16 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2024
Репутация: 696 ±
Замечаний: 0% ±

2007,2010,2013,2016
можно ли в VBA сделать такую паузу

паузу сделать можно - копайте в сторону application.wait.
Только вот задержка может и не помочь все зависит от скриптов сайта.


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
можно ли в VBA сделать такую паузу

паузу сделать можно - копайте в сторону application.wait.
Только вот задержка может и не помочь все зависит от скриптов сайта.

Автор - SLAVICK
Дата добавления - 11.08.2017 в 15:16
al-Ex Дата: Суббота, 12.08.2017, 11:57 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 59 ±
Замечаний: 0% ±

Excel 2010
тут одной паузы "маловато будет", вот тут хорошо расписано и решение прилагается.


Сообщение отредактировал al-Ex - Суббота, 12.08.2017, 12:16
 
Ответить
Сообщениетут одной паузы "маловато будет", вот тут хорошо расписано и решение прилагается.

Автор - al-Ex
Дата добавления - 12.08.2017 в 11:57
InExSu Дата: Суббота, 12.08.2017, 21:40 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 260
Репутация: 29 ±
Замечаний: 80% ±

Excel 2010
[vba]
Код
Workbooks.Open "https://вашсайт.com"
[/vba]


Сообщение отредактировал InExSu - Суббота, 12.08.2017, 21:40
 
Ответить
Сообщение[vba]
Код
Workbooks.Open "https://вашсайт.com"
[/vba]

Автор - InExSu
Дата добавления - 12.08.2017 в 21:40
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Пауза до полной загрузки HTML-кода страницы в браузере IE (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!