Главная страница
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.036 c
9-1120038326
OSokin
2005-06-29 13:45
2006.02.12
Megamaze


2-1138357305
LionMen
2006-01-27 13:21
2006.02.12
Изменение формат ячеек в Excele


1-1136819121
utter
2006-01-09 18:05
2006.02.12
Удаление файлов по маске


2-1137926305
Compton's G
2006-01-22 13:38
2006.02.12
Битмап


2-1137994152
novikova
2006-01-23 08:29
2006.02.12
Помогите сделать напоминалку