|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Программное управление TWebBrowser
Добрый день. Есть код:
Код:
var Main: TMain; Data:Variant; implementation uses MSHTML; (*загрузка Гугля*) procedure TMain.Button1Click(Sender: TObject); var SmUrl,HtmlCode:string; Flags, TargetFrameName, PostData, Headers: Olevariant; Document:IHTMLDocument2; (*Перем типа*) begin Wbbr.Navigate(Edit1.Text, Flags, TargetFrameName, PostData, Headers); Document:=Wbbr.Document as IHTMLDocument2; if Assigned(Document) then HtmlCode:=Document.body.innerHtml; Memo1.Text:=HtmlCode; end; (*находим форму ввода поисковых слов и вводим их*) procedure TMain.Button2Click(Sender: TObject); var I,J:integer; begin for I := 0 to (Wbbr.OleObject.Document.forms.Item(0).Elements.Length-1) do begin if Wbbr.OleObject.Document.Forms.Item(I).Elements.Name='f' then Data:=Wbbr.OleObject.Document.Forms.Item(I).Elements; Break; end; (*находим нужную форму по имени*) for J := 0 to (Data.Length-1) do begin if (Data.Item(J).Name='q') then Data.Item(J).Value:=Edit2.Text; end; (*копируем в строку ввода на странице символы из ЕДИТ2*) end; (*находим кнопку начать поиск и программно жмем ея*) procedure TMain.Button3Click(Sender: TObject); var J:integer; begin for J := 0 to (Data.Length-1) do begin if (Data.Item(J).value='Поиск в Google') then //(Wbbr.Document as IHTMLDocument2).ParentWindow.Focus; Data.Item(J).Click; end; end; Практически все работает, но если после нажатия на Батон2 не кликнуть на ТВебБраузер мышью, то при нажатии на Батон3 загрузка страницы не присходит Если кто в курсе, скажите что не так еще. |
#2
|
||||
|
||||
На первый взгляд - при нажатии на баттон2 происходит увод фокуса с браузера и при жиме на "начать поиск" эта комманда возможно не доходит. Вариант решения - возвращать фокус компоненту или заменить обычные баттоны на битбтн или спидбаттоны у них перехода по Таб (передачи фокуса) нет.
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
||||
|
||||
управляет списком на WEB-странице через TRadioGroup:
http://zalil.ru/34450569 естественно можно и на самой странице кликать. исходник недавно выкладывал. Пишу программы за еду. __________________ |
#4
|
|||
|
|||
вообще батоны это временное решение, чиста для демо. в реале должен быть вызов процедур. как думаете что из этого выйдет? сам пока не пробовал
кстати, теритчски, фокус на ТВБР не причем, ведь должен быть программный доступ к внутренностям страницы, лежащей в ДОКУМЕНТ.браузера во всяком случае в источниках так поясняют |