Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];

Вниз

Доступ к полям страницы 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.048 c
1-1137410603
Still Swamp
2006-01-16 14:23
2006.02.12
Как отобразить в окошке некий текст HTML


2-1138173689
emergency
2006-01-25 10:21
2006.02.12
Литература по работе с сетями


8-1125484815
palgen
2005-08-31 14:40
2006.02.12
Как захватить кадр, используя DirectShow ?


15-1137928997
Kerk
2006-01-22 14:23
2006.02.12
Google Books


4-1133333765
BVV
2005-11-30 09:56
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский