Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.047 c
2-1137498839
Goast
2006-01-17 14:53
2006.02.12
Информация о ходе копирования файлов


15-1137998175
Ega23
2006-01-23 09:36
2006.02.12
Престидиджитатор - кто это?


11-1119419512
midas2k5
2005-06-22 09:51
2006.02.12
StatusBar


2-1138003865
mctarik
2006-01-23 11:11
2006.02.12
Писал ли кто нибудь Инструменты к Дельфи!


2-1138280829
Trilon1
2006-01-26 16:07
2006.02.12
EOleException




   Наверх