Управление элементами страницы встроенного в delphi веб браузера.
Компонент находится на вкладке «интернет»
Загрузка страницы происходит процедурой
WebBrowser1.Navigate( ‘полный адрес’ );
Ну а далее укажу несколько функций для непосредственно управление объектами страницы.
//заполнить текстовое поле в WebBrowser с именем FieldName значением Value.
function FillValue(WebBrowser : TWebBrowser; FieldName : String; Value : String): Boolean;
var
i, j : Integer;
FormItem : Variant;
begin
Result := False;
if WebBrowser.OleObject.Document.all.tags(‘FORM’).Length = 0 then
begin
ShowMessage(‘<FORM> is not here’);
Exit;
end;
for i := 0 to WebBrowser.OleObject.Document.forms.Length — 1 do
begin
FormItem := WebBrowser.OleObject.Document.forms.Item(i);
for j := 0 to FormItem.Length — 1 do
begin
try
if FormItem.Item(j).Name = FieldName then
begin
FormItem.Item(j).Value := Value;
Result := True;
end;
except
Exit;
end;
end;
end;
end;
//заполнить галочку в WebBrowser с именем FieldName значением Check.
function FillCheck(WebBrowser : TWebBrowser; FieldName : String; Check : Boolean): Boolean;
var
i, j : Integer;
FormItem : Variant;
begin
Result := False;
if WebBrowser.OleObject.Document.all.tags(‘FORM’).Length = 0 then
begin
ShowMessage(‘<FORM> is not here’);
Exit;
end;
for i := 0 to WebBrowser.OleObject.Document.forms.Length — 1 do
begin
FormItem := WebBrowser.OleObject.Document.forms.Item(i);
for j := 0 to FormItem.Length — 1 do
begin
try
if FormItem.Item(j).Name = FieldName then
begin
FormItem.Item(j).Checked := BoolToStr(Check, True);
Result := True;
end;
except
Exit;
end;
end;
end;
end;
//заполнить галочку в WebBrowser с именем FieldName и названием FieldValue.
function FillCheck2(WebBrowser : TWebBrowser; FieldName, FieldValue : String): Boolean;
var
i, j : Integer;
FormItem : Variant;
begin
Result := False;
if WebBrowser.OleObject.Document.all.tags(‘FORM’).Length = 0 then
begin
ShowMessage(‘<FORM> is not here’);
Exit;
end;
for i := 0 to WebBrowser.OleObject.Document.forms.Length — 1 do
begin
FormItem := WebBrowser.OleObject.Document.forms.Item(i);
for j := 0 to FormItem.Length — 1 do
begin
try
if (FormItem.Item(j).Name = FieldName) and (FormItem.Item(j).Value = FieldValue) then
begin
FormItem.Item(j).Checked := ‘True’;
Result := True;
end;
except
Exit;
end;
end;
end;
end;
//нажать кнопку в WebBrowser с именем FieldName.
function PressButton(WebBrowser : TWebBrowser; FieldName : String): Boolean;
var
i, j : Integer;
FormItem : Variant;
begin
Result := False;
if WebBrowser.OleObject.Document.all.tags(‘FORM’).Length = 0 then
begin
ShowMessage(‘<FORM> is not here’);
Exit;
end;
for i := 0 to WebBrowser.OleObject.Document.forms.Length — 1 do
begin
FormItem := WebBrowser.OleObject.Document.forms.Item(i);
for j := 0 to FormItem.Length — 1 do
begin
try
if FormItem.Item(j).Name = FieldName then
begin
FormItem.Item(j).Click;
Result := True;
end;
except
Exit;
end;
end;
end;
end;
//нажать кнопку в WebBrowser с названием FieldValue.
function PressButtonByValue(WebBrowser : TWebBrowser; FieldValue : String): Boolean;
var
i, j : Integer;
FormItem : Variant;
begin
Result := False;
if WebBrowser.OleObject.Document.all.tags(‘FORM’).Length = 0 then
begin
ShowMessage(‘<FORM> is not here’);
Exit;
end;
for i := 0 to WebBrowser.OleObject.Document.forms.Length — 1 do
begin
FormItem := WebBrowser.OleObject.Document.forms.Item(i);
for j := 0 to FormItem.Length — 1 do
begin
try
if (FormItem.Item(j).Value = FieldValue) and (FormItem.Item(j).Type = ‘submit’) then
begin
FormItem.Item(j).Click;
Result := True;
end;
except
Exit;
end;
end;
end;
end;
//нажать другой вид кнопки в WebBrowser с названием FieldValue.
function PressButtonByValue2(WebBrowser : TWebBrowser; FieldValue : String): Boolean;
var
i, j : Integer;
FormItem : Variant;
begin
Result := False;
if WebBrowser.OleObject.Document.all.tags(‘FORM’).Length = 0 then
begin
ShowMessage(‘<FORM> is not here’);
Exit;
end;
for i := 0 to WebBrowser.OleObject.Document.forms.Length — 1 do
begin
FormItem := WebBrowser.OleObject.Document.forms.Item(i);
for j := 0 to FormItem.Length — 1 do
begin
try
if (FormItem.Item(j).Value = FieldValue) and (FormItem.Item(j).Type = ‘button’) then
begin
FormItem.Item(j).Click;
Result := True;
end;
except
Exit;
end;
end;
end;
end;
Нашел где-то, выкладываю сюда чтобы под рукой было 🙂
Автор: Elsper.ru