Форум: "Основная";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизЗаполнение странички с помощью TWebBrowser Найти похожие ветки
← →
pvr (2011-03-02 17:24) [0]Пытаюсь вводить данные в веб-страничку. На ней вижу надписи, INPUT"ы и кнопку. Посредством WebBrowser.OleObject.Document.all.item(I) перебираю все
элементы, входящие в документ. Вижу кое-какие надписи, но не вижу ничего похожего на поля ввода. Зато вижу элемент с тэгом IFRAME и со свойством type="Документ HTML". Похоже, мои поля ввода лежат в этом фрейме.
Достаю ссылку на фрейм:
IFrame := WebBrowser.OleObject.Document.getElementsByTagName("IFRAME").item(0).
Смотрю количество элементов во фрейме:
Cnt := IFrame.all.length (или IFrame.childNodes.length)
и вижу 0.
В каком направлении копать, чтобы добраться до нужных контролов?
PS: Я бы привёл URL сайта, но там протокол https, и без сертификата на сайт не пройти (опубликовать его я, понятное дело, не могу).
← →
clickmaker © (2011-03-02 17:31) [1]ну если у iframe указан src, то он сам по себе и не должен ничего содержать
← →
pvr (2011-03-02 17:33) [2]Да, он и не содержит. Но что делать-то?
← →
clickmaker © (2011-03-02 17:33) [3]загрузить то, что у него в src и работать как с отдельным документом
← →
pvr (2011-03-02 18:11) [4]Я прочитал содержимое свойства src и сделал Navigate по этому адресу. Оно сказало, что ошибка в выполнении сценария, но отобразило фрейм и позволило заполнить поля ввода. Когда я сделал click() на кнопку, то опять произошла ошибка в выполнении сценария и переход не состоялся.
2 clickmaker ©. Спасибо. К сожалению, нужно уходить отмечать ДР. завтра, если можно, ещё поспрашиваю.
← →
Loginov Dmitry © (2011-03-02 21:22) [5]
> В каком направлении копать, чтобы добраться до нужных контролов?
Цель-то в чем основная? Попрактироваться в заполнении визуальных элементов формы, или же передать форму на сервер? Если второе, то зачем WebBrowser?
← →
pvr (2011-03-03 14:56) [6]Loginov Dmitry © (02.03.11 21:22) [5]
Цель - передать форму на сервер. Но я не представляю, как к ней подступиться без браузера. Во-первых, я не могу извлечь из сертификата ключи; как мне при этом настраивать TIdServerIOHandlerSSLOpenSSL? Во-вторых, я не знаю инструментов, с помощью которых я бы смог посмотреть, что браузер готовит в POST-запросе.
Если вы мне скажете, что мне делать с ключами, и как посмотреть POST-запрос, то я бы охотнее обошёлся без WebBrowser.
← →
pvr (2011-03-03 15:08) [7]Я имел в виду TIdSSLIOHandlerSocketOpenSSL.
← →
pvr (2011-03-03 15:17) [8]clickmaker © (02.03.11 17:33) [3]
загрузить то, что у него в src и работать как с отдельным документом
Как я сказал, происходит ошибка сценария. Дело в том, что, когда я перехожу по адресу из scr, в джава-скриптах используется неинициализированная глобальная переменная. Может быть, под "загрузить" понимается не Navigate?
← →
sniknik © (2011-03-03 15:19) [9]> Во-первых, я не могу извлечь из сертификата ключи;
в браузере немного другой тип чем поддерживает indy (x509), хотя его вроде и можно "разобрать" в нужную форму (читал но не делал)
то я бы охотнее обошёлся без WebBrowser.
проще, раз уж в IE все стоит использовать XmlHttpRequest, а не TWebBrowser.
← →
Anatoly Podgoretsky © (2011-03-03 16:23) [10]
> Если вы мне скажете, что мне делать с ключами, и как посмотреть
> POST-запрос, то я бы охотнее обошёлся без WebBrowser.
Параметры можно посмотреть глазами, они все на страницы. Естественно WebBrowser для отправки POST запроса не нужен, обычно отсылается подготовленый StringList.Text
Формат стандартный ParName=Value по одному параметру на строчку.
WebBrowser скрывает всю кухню
Поскольку ты тут же ведешь речь и про Инди, то можешь посмотреть в его примерах, как делать пост запросы.
Параметры пересылаются как поток.
Я использую ICS
← →
Anatoly Podgoretsky © (2011-03-03 16:29) [11]> sniknik (03.03.2011 15:19:09) [9]
ИЕ и TWebBrowser используют WebBrowser Active X
← →
sniknik © (2011-03-03 16:29) [12]> WebBrowser скрывает всю кухню
IE скрывает... т.к. внутри он.
легко смотреть, что происходит, поставив "мазилу" и пару плагинов - HttpFox и/или Firebug (в одном удобнее одно в другом другое, но смотреть можно и там и там).
← →
pvr (2011-03-03 16:52) [13]Anatoly Podgoretsky © (03.03.11 16:23) [10]
Поскольку ты тут же ведешь речь и про Инди, то можешь посмотреть в его примерах, как делать пост запросы.
Параметры пересылаются как поток.
А как всё же быть с сертификатом?
← →
pvr (2011-03-03 17:24) [14]sniknik © (03.03.11 16:29) [12]
легко смотреть, что происходит, поставив "мазилу" и пару плагинов - HttpFox и/или Firebug
Не удаётся поставить сертификат на Firefox - не понимает он его, поэтому и плагины мне не помогут :(
← →
sniknik © (2011-03-03 18:01) [15]> Не удаётся поставить сертификат на Firefox - не понимает он его, поэтому и плагины мне не помогут :(
упомянутые плагины нужны не для решения конкретной задачи (для решения подойдет мой 1 пост 2 абзац), а для того чтобы разобраться "что происходит" т.е. в каком виде посылаются данные формы. не обязательно смотреть на защищенном сертификатами сайте.
хотя кстати не понятно почему не удается сертификат поставить...
← →
pvr (2011-03-03 18:11) [16]sniknik © (03.03.11 18:01) [15]
Удалось извлечь ключ. Что касается Firefox, то на их сайте про эту ощибку говорится, что не поддерживают такой сертификат.
← →
Loginov Dmitry © (2011-03-03 21:57) [17]
> Во-вторых, я не знаю инструментов, с помощью которых я бы
> смог посмотреть, что браузер готовит в POST-запросе.
Вот один из таких инструментов:
http://www.fiddler2.com/fiddler2/
← →
Anatoly Podgoretsky © (2011-03-04 09:48) [18]> pvr (03.03.2011 16:52:13) [13]
С сертификатом не знаю как быть, я никогда не обращал внимания на эту часть.
Но легче всего TWebBrowser и не надо беспокоиться об работе с сертификатом,
TWebBrowser возьмет все на себя.
Есть еще одна интересная штука, которая позволяет избавиться от
использования TWebBrowser и Инди - это WinInet.dll - подробности в MSDN, по
Инету есть ссылки и на русский текст
← →
Anatoly Podgoretsky © (2011-03-04 09:49) [19]> sniknik (03.03.2011 18:01:15) [15]
Посмотри примеры по Инди
← →
Anatoly Podgoretsky © (2011-03-04 09:50) [20]> sniknik (03.03.2011 18:01:15) [15]
Мне тоже не понятно при чем тут сертификаты и POST
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.103 c