Текущий архив: 2006.02.12;
Скачать: CL | DM;
ВнизДоступ к полям страницы TWebBrowser с фреймами Найти похожие ветки
← →
WebSQLNeeder © (2005-10-31 13:46) [0]Есть страница с фреймами и нужно програмно кликнуть на кнопку или заполнить поле. делаю вот так, но выдает ошибку
WebBrowser1.OleObject.document.frames["input"].document.forms[0].message.value:="HellO";
Ошибка звучит так: Method "frames" not supported by automation object
← →
WebSQLNeeder © (2005-11-01 15:27) [1]Что, никто не сталкивался с проблемой??
← →
SergP. (2005-11-01 17:50) [2]Сталкивался. Знаю как... Но не помню... Если вспомню, то напишу...
← →
SergP © (2005-11-02 04:45) [3]Странно... Вроде бы правильно.... Например я у себя нашел нечто типа клика по ссылке в фрейме:
WebBrowser1.OleObject.document.frames.item(0).document.all.tags("a").item(1).click;
Все работает. Такой ошибки как у тебя, что frames не поддерживается, не выдает...
Может эксплорер у тебя старый?
Или WIN95, где эксплорер не поддерживал фреймов?
← →
WebSQLNeeder © (2005-11-02 09:50) [4]Спасибо, сейчас протестирую.
По поводу ошибки - так это ошибка Delphi, а не ИЕ.
Кстати, какая версия Делфи у тебя?
← →
WebSQLNeeder © (2005-11-02 10:47) [5]Кстати про тег <a
Как занести в Мемо все теги, которые присутствуют на этой странице, я пробую так но выдает ошибку Method "value" not supported by automation object
procedure TForm1.Button3Click(Sender: TObject);
var anch:OleVariant;
i:integer;
begin
anch:=WebBrowser1.OleObject.document.frames.item(5).document.all.tags("a");
for i:=3 to anch.length-1 do
begin
memo1.Lines.Add(anch.item(i).value);
end;
← →
VENOM (2005-11-04 02:48) [6]WebSQLNeeder, ты вообще смотрел МСДН ?!
Я - смотрел, и вот до чего я дошел (коряво - но коротко и работает):
procedure TMainForm.FillForms(login, pass: string);
var
Document: VARIANT;
m: Integer;
ovElements: OleVariant;
i: Integer;
name_frame: OleVariant;
begin
Document := WB.Document;
if Document.frames.Length = 0 then exit;
name_frame := "main";
Document := Document.frames.Item(name_frame).document;
name_frame := "display";
Document := Document.frames.Item(name_frame).document;
// count forms on document and iterate through its forms
for m := 0 to Document.forms.Length - 1 do
begin
ovElements := Document.forms.Item(m).elements;
// iterate through elements
for i := 0 to ovElements.Length - 1 do
begin
// when input fieldname is found, try to fill out
try
if (CompareText(ovElements.item(i).tagName, "INPUT") = 0) and
(CompareText(ovElements.item(i).type, "text") = 0) and
(CompareText(ovElements.item(i).name, "username") = 0)then
begin
ovElements.item(i).Value := login;
end;
if (CompareText(ovElements.item(i).tagName, "INPUT") = 0) and
(CompareText(ovElements.item(i).type, "password") = 0) and
(CompareText(ovElements.item(i).name, "autentication") = 0) then
begin
ovElements.item(i).Value := pass;
end;
{if (CompareText(ovElements.item(i).tagName, "input") = 0) and
(CompareText(ovElements.item(i).type, "image") = 0) and
(CompareText(ovElements.item(i).src, "files/entra.gif") = 0) then
begin
ovElements.item(i).Click;
end; }
except
end;
end;
end;
end;
Если у тебя по жизни есть мозги, то слушай кровосток и г. москвы... и больше кури... больше кури... больше кури... больше кури... больше кури...
Всем мира (-:
Страницы: 1 вся ветка
Текущий архив: 2006.02.12;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.058 c