powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Получение фильтрованной таблицы
7 сообщений из 7, страница 1 из 1
Получение фильтрованной таблицы
    #39855255
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Есть макрос, который выгружает таблицу с сайта со страничками таблицы. Там присутствует фильтр. По логике сначала выгружается страница, где присутствует первая страничка таблицы без использования фильтра. Потом макросом ставим фильтрацию, программно нажимаем на click и выгружается таблица с фильтром. Будто объект IE не учитывает, что была нажата кнопка и выгрузилась обновленная таблица.

После HTMLButton.Click получаем objCollection не фильтрованную. Почему так? Kак правильно написать?

Насколько правильно понимаю, что IE.Refresh и IE.Refresh2 не подходит.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
...
Dim IE As Object
Dim objCollection As Object
Set IE = CreateObject("InternetExplorer.Application")

IE.Visible = False
IE.Navigate "https://www..."       

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

IE.Visible = True   

Dim HTMLButton As MSHTML.HTMLInputElement
Set HTMLButton = IE.document.getElementsByclassname(".....")(0)
HTMLButton.Click


Set objCollection = IE.document.getElementsByclassname("...")(0).Children(0).Children(0).Children(0).Children
...

...
Рейтинг: 0 / 0
Получение фильтрованной таблицы
    #39855302
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikkЗдравствуйте!

Есть макрос, который выгружает таблицу с сайта со страничками таблицы. Там присутствует фильтр. По логике сначала выгружается страница, где присутствует первая страничка таблицы без использования фильтра. Потом макросом ставим фильтрацию, программно нажимаем на click и выгружается таблица с фильтром. Будто объект IE не учитывает, что была нажата кнопка и выгрузилась обновленная таблица.

После HTMLButton.Click получаем objCollection не фильтрованную. Почему так? Kак правильно написать?

Насколько правильно понимаю, что IE.Refresh и IE.Refresh2 не подходит.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
...
Dim IE As Object
Dim objCollection As Object
Set IE = CreateObject("InternetExplorer.Application")

IE.Visible = False
IE.Navigate "https://www..."       

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

IE.Visible = True   

Dim HTMLButton As MSHTML.HTMLInputElement
Set HTMLButton = IE.document.getElementsByclassname(".....")(0)
HTMLButton.Click


Set objCollection = IE.document.getElementsByclassname("...")(0).Children(0).Children(0).Children(0).Children
...


а что в вашем понимание фильтр, возможно там просто строка 0 высотой стоит
может ссылку на сайт?
...
Рейтинг: 0 / 0
Получение фильтрованной таблицы
    #39855305
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fochaа что в вашем понимание фильтр?в коде одну строку пропустил
Код: vbnet
1.
2.
3.
4.
5.
...
IE.Visible = True   
IE.document.getElementByid("...").Value = "..." ' вводится значение определенного параметра фильтра
Dim HTMLButton As MSHTML.HTMLInputElement
...


Fochaвозможно там просто строка 0 высотой стоитЧто значит "строка 0 высотой стоит"?
...
Рейтинг: 0 / 0
Получение фильтрованной таблицы
    #39855485
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fochaвозможно там просто строка 0 высотой стоитПосле нажатия HTMLButton.Click в объекте IE обновляется таблица с учетом фильтра, а после Set objCollection = IE.document.getElementsByclassname("...")(0).Children(0).Children(0).Children(0).Children получаем не обновленную таблицу.
...
Рейтинг: 0 / 0
Получение фильтрованной таблицы
    #39855501
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikkПосле нажатия HTMLButton.Click в объекте IE обновляется таблица с учетом фильтра, а после Set objCollection = IE.document.getElementsByclassname("...")(0).Children(0).Children(0).Children(0).Children получаем не обновленную таблицу.И что самое интересное, когда выгрузилась обновленная страница и нажал "Просмотр HTML-кода", то там присутствуют данные не обновленной таблицы. Почему так? Как выгрузить обновленную таблицу?
...
Рейтинг: 0 / 0
Получение фильтрованной таблицы
    #39855543
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще заметил, когда выгружаешь не фильтрованную таблицу, то странички таблицы имеют соответствующие домены:
http://aaaaa.ru/bbbbb/ или http://aaaaa.ru/bbbbb/?page=1
http://aaaaa.ru/bbbbb/?page=2
http://aaaaa.ru/bbbbb/?page=3

Когда выгружаешь фильтрованную таблицу, то
- если до фильтрации была страница http://aaaaa.ru/bbbbb/, то странички имеют одинаковый домен http://aaaaa.ru/bbbbb/
- если до фильтрации была страница http://aaaaa.ru/bbbbb/?page=2, то странички имеют одинаковый домен http://aaaaa.ru/bbbbb/?page=2
...
Рейтинг: 0 / 0
Получение фильтрованной таблицы
    #39855641
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это от сайта так зависит? Или для обновления нужно использовать какой то метод для объекта IE или IE.Document?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Получение фильтрованной таблицы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]