Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Заполнение странички с помощью 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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.066 c
2-1332430983
теркин
2012-03-22 19:43
2013.03.22
Представление двухмерного массива в виде динамического списка


11-1244182809
QAZ
2009-06-05 10:20
2013.03.22
HeapMM vs FastMM


15-1334176202
Юрий
2012-04-12 00:30
2013.03.22
С днем рождения ! 12 апреля 2012 четверг


15-1344500626
Прогер
2012-08-09 12:23
2013.03.22
XML в Дельфи 7.


15-1352704621
ЕщеОдинКакжеНадоели
2012-11-12 11:17
2013.03.22
2-х мерный массив из одномерного