
03.02.2009, 20:36
|
 |
Администратор
|
|
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,551
Версия Delphi: Delphi 7
Репутация: выкл
|
|
Цитата:
Сообщение от Lion-Tiger
Как нажать на кнопку в webbrowser???
Пример с ДелфиВорлд не работает.......
|
В конце процедуры есть нажатие на кнопку...
Код:
var
i: integer;
s,Comm: string;
Disp: IDispatch;
Doc: IHtmlDocument2;
Uni: IHTMLSelectElement;
Element,pChild: IHTMLElement;
InputElement: IHTMLInputElement;
begin
ListBox1.Clear;
Doc:=WebBrowser1.Document as IHtmlDocument2;
// Memo2.Lines.Add(Doc.Body.innerHTML);
for i:=1 to Doc.All.Length do
begin
Disp:=Doc.All.Item(Pred(i),0);
Disp.QueryInterface(IHTMLElement,Element);
if Assigned(Element)
then
begin
Element.QueryInterface(IHTMLInputElement,InputElement);
// выбор элемента
if Element.TagName='SELECT'
then
begin
Element.QueryInterface(IHTMLSelectElement,Uni);
Disp.QueryInterface(IHTMLElement,pChild);
if Assigned(pChild)
then
begin
s:=IntToStr(i)+' tag='+Element.TagName+' ';
pChild.QueryInterface(IHtmlInputElement,InputElement);
if Assigned(InputElement)
then
begin
s:=s+'name='+InputElement.Get_Name;
s:=s+'value='+InputElement.Get_Value;
s:=s+'type='+InputElement.Get_Type_;
end;
ListBox1.Items.Add(s);
end;
{pChild:=Element;
if Element.Contains(pChild)=true
then
begin
// Disp:=Element. .Children;
// Disp.QueryInterface(IHTMLElement,pChild);
if Assigned(pChild)
then
begin
pChild.QueryInterface(IHTMLInputElement,InputElement);
// выбор элемента
if pChild.TagName='OPTION'
then
else
end;
end;}
if Assigned(Uni)
then
begin
if (Uni.Name='data[city]') or (Uni.Name='data[subway]')
then
begin
Uni.SelectedIndex:=1;
// ListBox1.Items.Add('Select= '+Uni.Name);
// ListBox1.Items.Add('Select= '+Uni.Type_);
// ListBox1.Items.Add('Select= '+Uni.Value);
end;
end;
end;
//
// нажатие на кнопку
if Assigned(InputElement)
then
begin
if InputElement.Name='logout'
then
begin
if Comm<>'ClickButton'
then InputElement.value:='test'
else Element.click;
ListBox1.Items.Add('NAME= '+InputElement.Name);
end;
end;
end;
end;
end;
|