Войти

Показать полную графическую версию : Форма отправки информации


DJ@XON
15-10-2012, 19:39
Уважаемые "жители" форума!

Я в программировании полный профан, вот осваиваю среду разработки Delphi. Есть конкретная задача. Только пожалуйста не смейтесь =)
Есть определенный скрипт для ввода данных на вебформе и отправки нажатием по кнопке:
----------------------------------------

<script type="text/javascript" src="http://wmcasher.ru/wmcbonus.php?encoding=w"></script>

<form action="http://wmcasher.ru/bonus/" method="post">
<p>Вы можете получить WMR-бонус в размере 0,01-0,10 WMR на свой кошелек 1 раз в сутки</p>
<p>Кошелек <input type="text" name="bonuspurse" value="R" size="13" id="wmcbonuspurse"/><br/>

Код <img src="http://wmcasher.ru/captcha/" width="50" height="21" alt="Защитный код">
<input type="text" name="keystring" value="" size="5" id="wmcbonuskeystring"/><br/>
<input type="button" value=" Получить бонус " onclick="getwmcbonus()" style="width:120px"/></p>

<p><a href="http://www.wmcasher.ru">Обмен Webmoney</a></p> </form>

----------------------------------------
Даже не буду говорить его предназначение, надеюсь вы поняли =)

Впринципе я разобрался, для заполнения полей я использовал функции компонента WebBrowser. Обработчик события выглядит примерно так:
----------------------------------------

var
a: variant;

procedure TForm1.Button1Click(Sender: TObject);
begin

a:=webbrowser1.oleobject.document.getelementbyid('bonuspurse'); {Вот тут я заполняю форму для ввода кошелька с идентификаторм bonuspurse}
a.value:='R12345678910';
WebBrowser1.OleObject.Document.GetElementByID('?').Click; {Вот тут встал вопрос, как обратиться к кнопке}

end;
----------------------------------------
Для эмуляции нажатия по кнопке "Получить бонус" я хотел использовать WebBrowser1.OleObject.Document.GetElementByID('?').Click; но вот незадача - нужен идентификатор кнопки. В коде на месте "?" скорее всего должен стоять. Скрипт конечно же не мой, я пытался задавать сам в этой строке идентификатор, изменять код скрипта, но почему то он отказывался работать.

Помогите пожалуйста кто-нибудь, или хоть подскажите правильное направление как это по другому реализовать. Спасибо.

opel431
16-10-2012, 09:08
Нужно в браузере открыть "вашу" страницу, просмотреть ее исходный код (в Опере это Ctrl+U), найти нужную кнопку (поиск в коде Ctrl+F). Индификатор кнопки начинается с зарезервированного: name=btn.... Вставляете найденный ID кнопки в свой код.

DJ@XON
16-10-2012, 16:44
Индификатор кнопки начинается с зарезервированного: name=btn.... Вставляете найденный ID кнопки в свой код. »
Спасибо, opel431, помогло. А без использования идентификатора есть возможность нажать на кнопку? Просто не хотелось бы изменять исходный код скрипта - параметра name=... в нем изначально нет

opel431
17-10-2012, 02:28
Для спасибо есть кнопка.
Зачем вставлять name=? Если код кнопки name=btnG (взял со страницы Гугла (label="Поиск в Google" class=gbqfb name=btnG>)), просто в своей процедуре вместо
WebBrowser1.OleObject.Document.GetElementByID('?').Click;
вставляете
WebBrowser1.OleObject.Document.GetElementByID('btnG').Click;

У вас ведь в процедуре фактически есть подсказка - getelementbyid('bonuspurse'), name="bonuspurse" это поле ввода на странице браузера.




© OSzone.net 2001-2012