Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
DocktoR
1

Заполнение html-форм при регистрации на сайте

06.04.2012, 22:48. Показов 1960. Ответов 5
Метки нет (Все метки)

Здравствуйте . Появилось желание , но на реализацию имеется только 1 мысль и довольно неудобная и примитивная .
Подскажите пожалуйста .
Имеется интернет сайт , там стоит регистрация .
Суть заключается в том , что регистрация разделена на 2 старницы .
В первой страницы надо заполнить поле Login , Pass и нажать кнопку continius. На второй страницы требуется заполнить поле email и нажать кнопку Start .
Это я привел пример задачи , которая стоит передо мной .

Я в данный момент только начинаю изучать C++ ,в данный момент пришла
идея , возможно и глупая не судите сильно .
Это создать документ 1.html туда запихнуть выполнение 2 скриптов , по очередности сохранение результата и после просмотр исходного кода результата ( т.е. получилась регистрация или нет ) .Но это не удобно тем , что пользователь видит программы видит все действия . Это будет не комфортно ^)

Кто может подсказать каким образом можно выполнить все действия скрыто из программы и узнать выполнилась регистрация или нет ?)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2012, 22:48
Ответы с готовыми решениями:

Заполнение HTML форм на сайте
Нужен пример с помощью которого приложение автоматом заполнит HTML форму/формы на сайте и...

Заполнение форм регистрации
Заполнение форм регистрации автоматически Меня интересует как можно сделать так чтобы программа...

Заполнение форм на сайте из программы
Доброго времени суток. Ребята подскажите как можно ввести строку в форму на сайте (рисунок). Делаю...

Автоматическое заполнение форм на сайте
Доброе время суток, уважаемые форумчане! Обращаюсь к вам за помощью, может кто сталкивался со...

5
Эксперт С++
8297 / 6128 / 613
Регистрация: 10.12.2010
Сообщений: 28,659
Записей в блоге: 30
06.04.2012, 23:13 2
Пробовали использовать компонент IdHTTP ?
0
wtf!?
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732
06.04.2012, 23:38 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
void __fastcall TForm1::ClickButton(String Name) { // pressing button
    TWebBrowser *WB = WebBrowser1;
    IHTMLDocument2 *pDoc;
    TComInterface<IHTMLElementCollection, &IID_IHTMLElementCollection>pColl;
    TComInterface<IDispatch, &IID_IDispatch>pTmpDisp;
    TComInterface<IHTMLElement, &IID_IHTMLElement>pElement;
    TComInterface<IDispatch, &IID_IDispatch>pDisp;
 
    if (SUCCEEDED(WB->Document->QueryInterface(IID_IHTMLDocument2,
        (LPVOID*)&pDoc))) {
        if (SUCCEEDED(pDoc->get_all(&pColl))) {
            if (SUCCEEDED(pColl->item(TVariant(WideString(Name)), TVariant(0),
                &pDisp))) {
                pDisp->QueryInterface(IID_IHTMLElement, (LPVOID*)&pElement);
                pElement->click();
            }
        }
    }
 
}
 
void __fastcall TForm1::FillForm(String Name, String Data) {
    // filling form
    TWebBrowser *WB = WebBrowser1;
    IHTMLDocument2 *pDoc;
    TComInterface<IHTMLElementCollection, &IID_IHTMLElementCollection>pColl;
    TComInterface<IDispatch, &IID_IDispatch>pTmpDisp;
    TComInterface<IHTMLInputElement, &IID_IHTMLInputElement>pElement;
    TComInterface<IDispatch, &IID_IDispatch>pDisp;
    if (SUCCEEDED(WB->Document->QueryInterface(IID_IHTMLDocument2,
        (LPVOID*)&pDoc))) {
        if (SUCCEEDED(pDoc->get_all(&pColl))) {
            if (SUCCEEDED(pColl->item(TVariant(WideString(Name)), TVariant(0),
                &pDisp))) {
                pElement = pDisp;
                pElement->put_value(Data.w_str());
            }
        }
    }
}
// в *.h добавить
//
//  void __fastcall FillForm(String Name, String Data);
//  void __fastcall ClickButton(String Name);
Далее, на WebBrowser1DocumentComplete проверку, типа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
if (WebBrowser1->ReadyState == 4 && WebBrowser1->LocationURL=="урл первой страницы") {
FillForm(L"login", L"ввродимый текст");
FillForm(L"password", L"ввродимый текст");
    ClickButton(L"continius");
}
if (WebBrowser1->ReadyState == 4 && WebBrowser1->LocationURL=="урл первой страницы") {
FillForm(L"email", L"ввродимый текст");
    ClickButton(L"start");
 
}
// в FillForm первый параметр это имя инпута в хтмл коде
// в clickbutton параметром является имя сабмита в коде
// и не забудь #include <mshtml.h>
примерно как то так
1
HukuTKANK
20.06.2013, 23:22 4
Всем привет!) Специально тут зарегался чтобы попросить о помощи =)
У меня выдает ошибку w_str is not a member of AnsiString и выделяет Data.t_str
Всё пробовал что в голову приходило((( Хелп
Эксперт С++
8297 / 6128 / 613
Регистрация: 10.12.2010
Сообщений: 28,659
Записей в блоге: 30
20.06.2013, 23:24 5
Используй String вместо AnsiString
0
HukuTKANK
21.06.2013, 06:28 6
То есть? Куда написать стринг вместо ансистринг, у меня вроде нет в коде такого) Если есть желательно тыкнуть
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2013, 06:28

Логин на сайте и заполнение форм приложением
Здравствуйте. Подскажите (хорошей статьей, ссылкой с примерами и т.д.), пожалуйста, как...

Invoke-webrequest и заполнение форм на сайте
Добрый день. Задался я целью написать скрипт, который будет по серийнику ноутбука НР выдавать...

Заполнение HTML форм
Возникла проблема. Написал программку которая автоматически заполняет текстовые поля на сайте, а...

Заполнение на сайте html <select> данными из VBA <combobox>
Здравствуйте! На форме есть Combobox со значением &quot;Свердловская область&quot; Задача это значение...

Капча при регистрации на сайте.
Помогите пожалуйста, хочу зарегистрироваться на сайте singed.ru но там, для завершения регистрации...

Хлам в ответе при регистрации на сайте
Приветствую. Пробую из проги регистрироваться на сайте (пока на локальном, но в последствии...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru