| 
| 
 | Вопрос # 5 563/ вопрос открыт / | 
 |  Здравствуйте!Подскажите как сделать так чтобы программа автоматически заполняла поля на сайтах для входа на свой аккаунт, то есть логин и пароль?
 Чтобы вам было понятней вот ссылка на сайт где это надо ввести: http://the-storm.su/   справа 2 Edita в которых надо прописать мой логин и пароль скажите как это автоматом делать при запуске программы и еще дополнительно после ввода нжимать Вход
 
|  |   Вопрос задал: skew (статус: Посетитель)Вопрос отправлен: 10 августа 2011, 18:11
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, skew!Как заполнить поля - смотрите в предыдущем вопросе. У Вас будет что то вида
 FillFormStr(Webbrowser1, 'login', 'тут Ваш логин');
 FillFormStr(Webbrowser1, 'pass', 'тут Ваш пароль');
 А вот для нажатия, нужно где то такой код
 
 procedure TForm1.Button1Click(Sender: TObject);
 var
    ovElements: OleVariant;
    i: Integer;
  begin
    FillFormStr(Webbrowser1, 'login', 'тут Ваш логин');
    FillFormStr(Webbrowser1, 'pass', 'тут Ваш пароль');
 
    ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements;
    for i := 0 to (ovElements.Length - 1) do
     if (ovElements.item(i).tagName = 'input') and (ovElements.item(i).type = 'image') and (ovElements.item(i).Value =
'Вход') then
       ovElements.item(i).Click;
  end;Если я с параметрами для нахождения кнопки не ошибся, то должно сработать. В противном случае, нужно написать код вида
 procedure TForm1.Button1Click(Sender: TObject);
 var
    ovElements: OleVariant;
    i: Integer;
  begin
 
    ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements;
    for i := 0 to (ovElements.Length - 1) do
    Memo1.lines.add('tagname = ' + ovElements.item(i).tagName + ' type = ' + ovElements.item(i).type + ' Value = ' +
ovElements.item(i).Value);
  end;поставить мемо на форму и посмотреть, какие там есть элементы и подобрать правильные параметры.
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 10 августа 2011, 18:28
 Оценка за ответ: 5
 Комментарий к оценке: В первом случае программа вообще не запустилась ругается на FillFormStr, во втором только в Мемо плюсует текст а в логин и пароль на сайте ничего так ничего и не прописалось |  
 Мини-форум вопросаВсего сообщений: 3; последнее сообщение — 11 августа 2011, 10:34; участников в обсуждении: 3. 
|   | Егор (статус: 10-ый класс), 10 августа 2011, 18:20 [#1]:зачем повторно вопрос задаём? и чем ответ на предыдущий вопрос не устроил? Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  10 августа 2011, 18:27: Вопрос перемещён в корзину модератором Ерёмин А.А.. Причина: Почти то же самое, что и предыдущий вопрос. 
|   | skew (статус: Посетитель), 10 августа 2011, 18:39 [#2]:В первом случае программа вообще не запустилась ругается на FillFormStr, во втором только в Мемо плюсует текст а в логин и пароль на сайте ничего так ничего и не прописалось, а вопрос задал еще раз потому что тот немного другая ситуация |  
|   | Вадим К (статус: Академик), 11 августа 2011, 10:34 [#3]:процедуру FillFormStr нужно взять с предыдущего вопроса. Она там работает? Галочка "подтверждения прочтения" - вселенское зло. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |