Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.061 c
1-1136800132
M_Alex
2006-01-09 12:48
2006.02.12
как приостановить и возобновить выполение процедуры


1-1137225938
NotBeginer
2006-01-14 11:05
2006.02.12
Не могу понять причину


4-1133445577
lucifer
2005-12-01 16:59
2006.02.12
Как закрыть окно(приложение) под курсором мыши!


8-1125974415
OlegM
2005-09-06 06:40
2006.02.12
MediaPlayer проиграть с нужной позиции и закончить на нужной


3-1134472163
Andron.Ru
2005-12-13 14:09
2006.02.12
Как проверить работает ли сервер Oracle в сети