Вопрос использую компонент 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).elements; 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 - туда потом можно и засунуть.. Вопрос в том, как именно нажать из своего браузера програмно кнопку на яндексе "НАЙТИ!"
Go0o$EАААААААААААААААААА КЛАСССССССССССС я нереально рад суппер , я пробовал эту процедуру ,но не нашел у себя в компоненте TForm1 ничего связанного с процедурой MsgHandler , но когда Вы пыложили свой вариант я его пересмотрел ещё раз и понял , что процедура объявлена в начале кода в private. Сейчас всё отличненько работает я нереально рад больщущее спасибо -за раскрытие глаз Код всем классный , но не работет с фреймами как их отработать не знаю и с этим мучаюсь давно .. Вот как обходить фреймы, но что -то всё равно не получается записать содержимое всех фреймов в мемо... http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_20388946.html