Главная страница
    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.46 MB
Время: 0.058 c
15-1138178660
-Nick-
2006-01-25 11:44
2006.02.12
Закрытие периода


15-1137629133
Bogdan1024
2006-01-19 03:05
2006.02.12
pay4click и его изотопы


15-1137909887
begin...end
2006-01-22 09:04
2006.02.12
С Днём рождения! 22 января


15-1137789335
Cerberus
2006-01-20 23:35
2006.02.12
Рассказик


15-1137498922
Empleado
2006-01-17 14:55
2006.02.12
Небольшие заметки. Куба





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский