Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как программно нажать на кнопки в WebBrowser"


мамон ©   (2011-12-05 10:50:00) 

Кнопки 1,2,3 это вкладки страниц
При наведении на них курсором в место адресса высвечивается:

javascript:__doPostBack('_ctl0$ContentPH$GoodsDG$_ctl14$_ctl1','')

В исходном коде нет type и name кнопок


Сергей М.   (2011-12-05 15:11:00) [1]


> мамон   (05.12.11 15:07) [16]


А в  [10] я сам с собой, по-твоему, разговаривал ?)


мамон   (2011-12-05 15:07:00) [2]


> Сергей М. ©   (05.12.11 14:31) [15]


Ух ты! я же незнал что так можно спасибо ограмное!


Сергей М.   (2011-12-05 14:31:00) [3]


> я просто незнал как вызвать функцию


А и знать не надо)


> Ура нашел!


А лежало прямо перед носом)

procedure TfrmMain.Button1Click(Sender: TObject);
begin
 webbrowser1.Navigate(' http://www.goodsmatrix.ru/GroupsDescription.aspx?g=1');
end;

procedure TfrmMain.Button2Click(Sender: TObject);
begin
 webbrowser1.Navigate('javascript:__doPostBack("_ctl0$ContentPH$GoodsDG$_ctl14$_c tl1","")');
end;


мамон   (2011-12-05 14:21:00) [4]


> Сергей М. ©   (05.12.11 14:06) [12]


Это мне и самому было понятно. я просто незнал как вызвать функцию


мамон   (2011-12-05 14:20:00) [5]

Ура нашел!

(WebBrowser1.ControlInterface.Document as IHTMLDocument2 as IHTMLDocument2).parentWindow.execScript(
'__doPostBack(''_ctl0$ContentPH$GoodsDG$_ctl14$_ctl X'','''')', 'javascript');

X - номер страницы начинается с нулевой


Сергей М.   (2011-12-05 14:06:00) [6]

> адресс один и тодже

Трудно наверно быть бестолковым)

Вот URL 2-й страницы

javascript:__doPostBack('_ctl0$ContentPH$GoodsDG$_ctl14$_ctl 1','')

а вот 3-й
javascript:__doPostBack('_ctl0$ContentPH$GoodsDG$_ctl14$_ctl 2','')

Найди отличия)


мамон   (2011-12-05 13:55:00) [7]


> А чем принципиально "адресс" отличается от того что "высвечивается"
> ?


Отличается
Внизу есть номера вкладок кликаешь по ним адресс один и тодже а страницы разны

http://www.goodsmatrix.ru/GroupsDescription.aspx?g=1


Сергей М.   (2011-12-05 13:49:00) [8]

> в место адресса высвечивается:

> javascript:__doPostBack('_ctl0$ContentPH$GoodsDG$_ctl14$_ctl1','')

А чем принципиально "адресс" отличается от того что "высвечивается" ?
Ничем. И то и другое есть URL. А для навигации по указанному URL у компонента TWebRowser имеются методы Navigate и Navigate2, которые тебе наверняка знакомы, иначе бы ты не смог загрузить станицу.


мамон   (2011-12-05 13:34:00) [9]


> Еще проще вызывать __doPostBack напрямую и не заморачиваться.


Акак?


sniknik   (2011-12-05 11:36:00) [10]

> Еще проще вызывать __doPostBack напрямую и не заморачиваться.
если только ему внутри функции this не нужен, тогда не проще, а тоже самое, элемент определять.


Сергей М.   (2011-12-05 11:26:00) [11]


> Эта строка к "кнопке", в обшем случае, имеет косвенное отношение


Неважно какое, важно чтобы она однозначно идентифицировала "кнопку".
А оно наверняка так и есть при отсутствиии иных идентифицирующих признаков.


знайка   (2011-12-05 11:17:00) [12]


> Да и строка "_ctl0$ContentPH$GoodsDG$_ctl14$_ctl1" несет
> инф-цию о кнопке.
Эта строка к "кнопке", в обшем случае, имеет косвенное отношение.

Вообще определите у кого прописан клик, т.е. элемент документа и кликните его (нет прямого наименования, значит через паренты). Еще проще вызывать __doPostBack напрямую и не заморачиваться.


Сергей М.   (2011-12-05 11:03:00) [13]


> а если это не кнопка?


А по барабану.


Сергей М.   (2011-12-05 11:02:00) [14]

> В исходном коде нет type и name кнопок

Зато там наверняка есть порядок создания или координаты кнопок - по ним и следует ориентироваться.

Да и строка "_ctl0$ContentPH$GoodsDG$_ctl14$_ctl1" несет инф-цию о кнопке.


OW   (2011-12-05 11:02:00) [15]


> Так не бывает - кнопка есть, а кода ее создавшего нет.

а если это не кнопка? А только выглядит как кнопка


OW   (2011-12-05 11:01:00) [16]

google: javascript twebbrowser delphi
неужели не работает первое?


Сергей М.   (2011-12-05 10:59:00) [17]


> В исходном коде нет type и name кнопок


Не трынди.
Так не бывает - кнопка есть, а кода ее создавшего нет.


Наверх

Титульная страница Поиск, карта сайта Написать письмо