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

Вниз

Заполнение WEB форм   Найти похожие ветки 

 
Serge ©   (2004-06-21 10:36) [0]

Привет всем. Мастера подскажите плиз идею для создания алгоритма по сабжу. На данный момент я заполняю формы находя элементы INPUT по их именам но это работает в 35-45% из форм бо имена эти разнятся от форме к форме например: FirstName, NameFirst, FName, reqName, Name, First_Name etc...
Я конечно поставил условие на поиск слов Firstб FName ... в имени INPUT-а но оно не всех именах есть. Такая-же ситуация и для всех остальных полей - телефон, адрес етц.
Была идея искать текст "First" во всех окружающих ячейках INPUT-а.
Если кто делал что нибудь аналогичное или может что-то посоветовать, поможите плз.
Заранее спасибо.
PS Я использую объекты типа: IHTMLElement, IHTMLInputElement ... заполняя формы в активном окне IExplorer-a.


 
Rouse_ ©   (2004-06-21 10:39) [1]

http://www.swissdelphicenter.ch/en/showcode.php?id=1607

Подойдет?


 
serge ©   (2004-06-21 10:52) [2]

> Rouse_ ©   (21.06.04 10:39) [1]
:)
Именно с этого примера я и начал делать свою программу, но это просто заполниловка всех INPUT-ов без учета их имени, я же пытаюсь реализовать "вумный" форм-филлер (хотя их полным полно по инету, у меня данные для заполнения генерируются алеаторно самой программой), и меня интересует алгоритм для "вумного" запонения.
Все равно спасибо за ответ.


 
serge ©   (2004-06-21 15:38) [3]

Ау-у-у-у народ!
Ответьте плз кто знает, я же не прошу "дайте мне кусок кода", просто подкинте идейку кто знает а ?


 
Rouse_ ©   (2004-06-21 15:59) [4]

Ну так там наверное должно быть что-то типа ovElements.item(i).name вот его и проверяй, к примеру если он = password то туда сам понимаешь что вбивать нужно.

ЗЫ: Почему наверное, да потому что я сам не проверял :)


 
Serge ©   (2004-06-21 16:06) [5]

... На данный момент я заполняю формы находя элементы INPUT по их именам но это работает в 35-45% из форм бо имена эти разнятся от форме к форме например: FirstName, NameFirst, FName, reqName, Name, First_Name etc...

а вот типа того я пишу у себя в проге

     If CheckInStr(InputElement.Name, ["name", "fn", "reqName"]) Then
     Begin

       If CheckInStr(InputElement.Name, ["_fname", "fname", "f_name", "first_name", "first", "fn", "reqName"]) Then
         InputElement.Value := PersonInfo.FirstName;

       If CheckInStr(InputElement.Name, ["_lname", "lname", "l_name", "last_name", "last", "ln"]) Then
         InputElement.Value := PersonInfo.LastName;

       If {AnsiMatchText} CheckInStr(InputElement.Name, ["_mname", "mname", "m_name", "middle_name", "middlename", "midname", "mid_name", "mn"]) Then
         InputElement.Value := "";


но если писать таки макаром то это придется открывать десятки форм и смотреть в сурсах имена инпутов а потом прописывать их в программе - це не дило !!!


 
SergP ©   (2004-06-22 03:55) [6]

Кстати так писать не очень хорошо еще и потому на разных формах INPUTы c одинаковым именем могут обозначать совсем разное.

Вобщем нечто очень "вумное" здесь навряд ли напишешь.

Я когда-то делал так:
Настройки всех форм хранятся в каком-то файле. Но неизвестную форму перед использованием нужно настроить, т.е. данные о ней сохранить в этот файл.
Настройку я делал так: Юзер в неизвестной форме должен в INPUT"ах и TEXTAREA"х понаписывать имена данных (такие чтобы были одинаковые для всех форм), например
в формах имена инпутов могут быть такими "_fname", "fname", "f_name", "first_name", "first", "fn", "reqName", а мы пишем в этом поле всегда например fname.
Потом жмем кнопку и в настройки добавляется УРЛ формы и соответствие имен инпутов именам нашах данных.
Неудобство заключается в том что если "напоролся" на неизвестную нашему автозаполнятору WEB-форм форму, то ее нужно "настроить" прежде чем использовать.


 
Serge ©   (2004-06-22 09:46) [7]

Sorry что вчера не ответил. Идею я понял. А интересно как реализован алгоритм в iNetFormFiller, RoboForm - там вроде нет нужды предварительно настраивать программу под определенную форму. Где-то всколзь прочитал про использование fuzzy logic в данной ситуации но что и как конкретно - нивиха :(
Да-а-а-а-а "Ну погоди !" (с)


 
Serge ©   (2004-06-25 15:31) [8]

Да-а-а  - глухо и с ответами и у меня в голове :(



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.035 c
3-1091005053
Manfred
2004-07-28 12:57
2004.08.22
TClientDataSet.Locate ничего не находит


4-1089200295
Profffff
2004-07-07 15:38
2004.08.22
Трабл с CreateThread ..... Plz, help!


14-1090834103
Vlad Oshin
2004-07-26 13:28
2004.08.22
Позвоните им..


1-1091793629
Sourse
2004-08-06 16:00
2004.08.22
Как перетаскивать файлы из проводника в программу


3-1090929813
Vlad Oshin
2004-07-27 16:03
2004.08.22
Работа без установки BDE





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский