Просмотр полной версии : Delphi WebBrowser не работает [ENTER]
Вопрос использую компонент WebBrowser -полный аналог IE.
после настройки его , модернизации и всего прочего всё отлично работает тот же ie , но в IE после нажатия кнопки Еnter на некоторых сайтах срабатывает кнопка пост , допустим на www.yandex.ru вы нажимаете Enter и у вас срабатывает кнопка найти, но в WebBrowser после нажатия на Enter такого почему-то не происходит?!
ПОЧЕМУ?КТО МОЖЕТ ПОДСКАЗАТЬ КАК ЭТУ ПРОБЛЕМУ РЕШИТЬ?
Нужно фокус по дефаулту на браузер поставить.
Нужно фокус по дефаулту на браузер поставить.
а как это сделать?
Кнопки обрабатывать нужно
ну вот на примере отработки кноки "Найти!" на сайте www.ya.ru
делаем загрузку www.ya.ru по созданию формы:
WebBrowser1.Navigate('www.ya.ru');
дальше делаем кнопку на форме:
procedure TForm1.Button1Click(Sender: TObject);
var
ovElements: OleVariant;
i: Integer;
begin
ovElements := WebBrowser1.OleObject.Document.forms.item(0).eleme nts;
for i := 0 to (ovElements.Length - 1) do
if (ovElements.item(i).tagName = 'INPUT') and
(ovElements.item(i).type = 'SUBMIT') and
(ovElements.item(i).Value = 'Recent Charges') then
ovElements.item(i).Click;
end;
Кнопка "Найти" имеет type="submit вроде бы всё нормально, но не работет? ! :( почему?
Т.е. ты хочешь, чтобы у тебя на форме были собственные edit (поля для ввода) и кнопка "поиск", при нажатии на которую, происходил поиск на www.ya.ru по шаблону, задонному в твоем edit'е?
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate('http://www.yandex.ru/yandsearch?rpt=rad&text='+edit1.text); // точно не помню, как на делфи строки соединять :(
end;
Оно?
lo0 нет, нет, нет ;) я не это хочу!
Если вы в обычном IE зайдете загрузите www.ya.ru в строке для ввода слова для поиска вбьёте его и нажмете на клавиатуре кнопку Enter , тогда у Вас произведеться поиск на данной страничьке.
Но если же вый зайдете на сайт www.ya.ru через компоненть TWebBrowser введете на стриничьке слово для поиска и нажмете на клавиатуре кнопку Enter , то ничего не произойдет :( ПОЧЕМУ Я НЕ ЗНАЮ?! и как сделать так чтобы в TWebBrowser , кнопка Enter работала как в IE?
тогда вопрос, а если на страничке несколько форм для отправки, как же тогда искать нужную. Я так понял ты хочешь сделать универсальный метод
asm33 да нет не надо никаких универсальных обычное нажатие кноки ентер - почму в ie Оно работает , а в компоненте нет?!
Нужно сделать чтобы просто нажалась кнопка найти на www.ya.ru нажалась по нажатию кноки enter.
Как это сделать кто нибуть знает?!
для начала нужно сделать первоночально твой edit активным , думаю с этим проблем нету, а потом просто создай процедуру(там есть специальная точно названия не помню) для компонента edit и ты получиш результат...
зы если я неправильно понял то отпишись
VIYuА причем тут процедура Edit к кнопке type="submit" на сайте www.ya.ru или на любом другом сайта?!
Можно сделать по окончанию загрузки страницы , или на любой другой внешней кнопке допустим на TBattom -это не важно где делать писать процедуру , и как она будет работать , везд есть процедуры On Press... или ON Enter - туда потом можно и засунуть..
Вопрос в том, как именно нажать из своего браузера програмно кнопку на яндексе "НАЙТИ!"
Вот тут- http://www.megalib.com/books/923/864.htm посмотри.
Go0o$EАААААААААААААААААА КЛАСССССССССССС я нереально рад суппер , я пробовал эту процедуру ,но не нашел у себя в компоненте TForm1 ничего связанного с процедурой MsgHandler , но когда Вы пыложили свой вариант я его пересмотрел ещё раз и понял , что процедура объявлена в начале кода в private.
Сейчас всё отличненько работает я нереально рад больщущее спасибо -за раскрытие глаз :)
Код всем классный , но не работет с фреймами :( как их отработать не знаю и с этим мучаюсь давно ..
Вот как обходить фреймы, но что -то всё равно не получается записать содержимое всех фреймов в мемо...
http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_20388946.html
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot