WebBrowser

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

WebBrowser

Сообщение nekeda » 31.03.2007 (Сб) 16:05

Не нашёл этого вопроса в FAQ, прошу прощения если всё таки плохо искал.

На форме есть WebBrowser (Microsoft Internet Controls)
Им открывается скрипт на перле. Как бы мне получить результаты его работы? Результаты представляют собой простенькую страничку и текст на ней.

Приведу пример: скрипт создаёт два текстовых поля и кнопку. При нажатии на кнопку, числа в текстовых полях перемножаются и результат выводится чуть ниже обычным текстом. Вот нужно из программы посомтреть что это за результат.

Заранее спасибо за любые идеи)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 31.03.2007 (Сб) 20:23

WebBrowser.document.body.innerHTML - просто хтмлкод страницы.

Если у полей есть ID то -

webbrowser.document.<id_кнопки>.value - то что в поле. Ну и тд...
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 31.03.2007 (Сб) 21:11

Хакер
спасибо!

innerHTML вернёт не исходный скрипт, а то что получилось?
по ID кнопки можно её программно нажать?

просто сейчас не могу проверить..))
Последний раз редактировалось nekeda 31.03.2007 (Сб) 21:14, всего редактировалось 1 раз.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 31.03.2007 (Сб) 21:14

innerHTML вернёт всё, что было получено со стороны сервера, с учётом изменений, сделанных внутрестраничной интерактивностью (скриптами например, Document.Write-ами и тд.)
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 31.03.2007 (Сб) 21:22

webbrowser.document.<id_кнопки>.value - так я смогу подставить свои значения в поля, так? а на кнопку можно нажать?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 31.03.2007 (Сб) 21:24

да, метод .click() у кнопки.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 31.03.2007 (Сб) 21:33

ок, спасибо) остальные вопросы задам после того как попробую))

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 31.03.2007 (Сб) 21:34

"а остальные вопросы вы увидите после рекламы" :)
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 31.03.2007 (Сб) 21:42

угу)) а то спрашивать как нажать кнопку у которой, оказывается, есть метод "клик" как-то не правильно :)

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 03.04.2007 (Вт) 11:24

Хакер
посмотрел исходник.. текстовое поле если я правильно понял создаётся так:
Код: Выделить всё
<INPUT TYPE="text" NAME="address" VALUE="bla bla bla">

как обратится к такому полю?

а вот это кнопка.. как её нажать?
Код: Выделить всё
<INPUT TYPE="submit" NAME="action" VALUE="Ping" STYLE="background-color: rgb(97,97,97); color: rgb(255,255,255); border-left: 1px solid rgb(255,255,255); border-right: 1px solid rgb(255,255,255); border-top: 1px solid rgb(255,255,255); border-bottom: 1px solid rgb(255,255,255);">


Я так понимаю ID тут не используются.. есть способ обратиться к таким полям? Я сначала думал пересохранять скрипт на харде и добавлять туда ID но он работает только на сервере.. есть варианты кроме как менять исходный скрипт и добавлять туда ID?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 03.04.2007 (Вт) 11:32

1) так например WebBrowser1.Document.All("address").Value
2) также, только Click вместо Value
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 03.04.2007 (Вт) 11:56

Спасибо, то что надо :)

З.Ы. Кнопка не нажимается.. там их просто несколько, у всех NAME="action".. но у всех разные VALUE.

Пишу Web1.Document.All("action").Click и получаю Object doesn't support this property or method..

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 03.04.2007 (Вт) 15:34

Так как кнопка TYPE="submit", то можно предположить конечной целью является отправка формы, тогда уж красивее будет эту самую форму submit (См. метод submit класса HTMLFormElement)
Для нажатия кнопок с одинаковыми Name можно проверять значение атрибута Value (см. метод getAtribute) и нажимать кнопку только если этот атрибут совпал с нужным.
Salus populi suprema lex

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 04.04.2007 (Ср) 17:23

Пока остановились на том, что один из скриптов мне поправили и добавили ID к кнопкам. Но если расскажете про HTMLFormElement.submit поподробнее - буду признателен)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 04.04.2007 (Ср) 17:33

<FORM-а> тоже может иметь ID или NAME.

Как достучаться до объекта по его ID или NAME ты уже знаешь - до html-формы достукиваемся также.

А потом просто

WB.Document.<достукивание_до_html_формы>.Submit()
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 62

    TopList