Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.116 c
2-1347122752
Тимофей
2012-09-08 20:45
2013.03.22
MS SQL2005 express


6-1233066271
Usov
2009-01-27 17:24
2013.03.22
Как можно реализовать многосекционную закачку файла по http?


15-1342014916
Zilog
2012-07-11 17:55
2013.03.22
дааа, а раньше форум кпиел


2-1331044976
Сергей
2012-03-06 18:42
2013.03.22
Как устранить ошибку подключения к базе данных?


15-1338741213
М
2012-06-03 20:33
2013.03.22
Личная информация.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский