Приветствую. Прошу помощи. Не могу разобраться. мне нужно извлечь информацию из HTML таблиц. Но не могу разобраться как это сделать. К сожалению ссылку выкладывать нет смысла, так как на сайт можно зайти только из под сети. Постараюсь все подробно описать. Что я делаю на данном ресурсе: указываю ИНН, период. По данному запросу вываливаются документы. Когда я указываю ИНН и период в HTML коде не чего не меняется и выглядит он так:
Я не разбираюсь в HTML, но потыкав понял, что тут нечего интересного. И вот когда я ввожу ИНН и период, ВСПЛЫВАЮЩИМ окном всплывает вкладочка, где перечисляются документы, а в коде появляется заветная для меня и непонятное продолжение
Код
<div class="cdk-overlay-container"></div>
а если ткнуть в любой документ, он визуально раскроется табличкой, а у указанной строчки кода появится вначале треугольник говорящий, что теперь этот контейнер можно развернуть и посмотреть, а там и будет <table Скажите пожалуйста как обратится к указанному контейнеру?
Самым простым способом:
Код
Public Sub test()
Dim xhr As New XMLHTTP60
xhr.Open "GET",
"https://блабла",
False
xhr.send
Debug.Print xhr.responseText
End Sub
я не вижу указанного контейнера.
ПС Ребят, забыл сказать, что указанный ресурс работает исключительно на хроме.
Вероятно таблица полностью создаётся JS-скриптом, в таком случае, при простом обращении без взаимодействия с интерфейсом вы её не найдёте. Единственное, что пришло в голову: если введённые данные страница заталкивает в GET-параметры. Тогда можно эмулировать обращение с указанными параметрами и таблица может появиться.
Я не говорю, что сработает, я не вижу как там устроено, просто иногда так может работать. Заполненные поля передаются в GET-параметры и создаётся запрос на эту же страницу. Как пример, этот же сайт, но тут через php, а бывает иначе:
Иногда делают так, что заполнение какой-то формы то же самое делает. Если это ваш случай, то есть шанс вызвать таблицу. Сказать не могу, так как не вижу страницу))
Практически невозможно помочь в подобных вопросах, когда нет доступа к сайту. (ибо угадывать можно бесконечно долго) В браузере надо нажать F12, и смотреть, какие запросы выполняются браузером при вводе ИНН и дат А потом макросом выполнять аналогичные запросы
Цитата
указанный ресурс работает исключительно на хроме
а если в IE открыть - какую ошибку пишет? может получиться так, что макрос потребуется совсем другой (с подключением к Chrome)
Цитата
Самым простым способом я не вижу указанного контейнера.
Ну хорошо что вообще какой-то ответ получаете (если это не пустая страница) Значит, без Хрома с этим сайтом всё-таки можно работать Авторизация на этом сайте требуется? (ваш макрос без авторизации работает)
PS: вопрос не имеет отношения к Excel (и даже к макросам, на данном этапе) Потому что стоит задача разобраться, что происходит (в результате работы скриптов) на странице сайта при вводе ИНН, - это тематика не для форума по Excel Будь сайт доступен из интернета - подсказали бы. А в таком виде как сейчас, есть 2 варианта: либо на форум телепатов, либо в платный раздел, и не факт что даже этого форума (ибо тут могут потребоваться десятки сообщений, только чтобы понять как что там работает)
Игорь, Когда я ввожу инн и дату в коде нечего не меняется (на мой взгляд), но в адресной строке появляются сведения - ?PAGE и далее инн и дата. Я подозреваю что с адресной строки потом дергуются эти сведения в скрипт. В IE при запуске этого адреса вообще нечего не говорит, просто фон красится в цвет странички и на этом этапе просто все глохнет, подозреваю что IE не поддерживает жаву или его просто не обновляют. Простейший код выдает то что у меня в стартовом посте. Авторизация требуется, но там один раз вошел и почти больше не когда не спрашивает, макрос работает.
вообще можно не смотреть на адресную строку надо смотреть какие запросы выполняет браузер к сайту
Цитата
с адресной строки потом дергуются эти сведения в скрипт
нет, наоборот. скрипт может менять адрес. из адресной строки скрипт ничего не берет, у него эти данные и без того есть
Цитата
но там один раз вошел и почти больше не когда не спрашивает, макрос работает
ну это в браузере Chrome. макрос не имеет никакого отношения к Хрому Что значит «макрос работает»? если бы он работал, этой темы на форуме не было бы Макросу авторизация была бы доступна, авторизуйтесь вы вручную в браузере IE (именно в нем, а не в другом) Сейчас же макрос грузит страницу сайта без авторизации
Сергей020487, значит в GET-параметры таки попадают данные при заполнении форм. Попробуйте из макроса запрос сделать, скопировав ссылку с GET-параметрами. В адрес добавьте ?PAGE и далее инн и дата всё что там есть на момент ручного открытия и гляньте увидит ли макрос таблицу.Возможно, она уже доступна на странице при переходе с GET-параметрами и остаётся её только взять.