Управление элементами страницы

Управление элементами страницы встроенного в 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


VN:F [1.9.14_1148]
Rating: 0.0/10 (0 votes cast)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Спoнcopcкиe ссылки