|
| Дата |
|
USD/RUB | 89.2589 | BTC/USD | 68468.4087 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
04.10.2010, 18:45
|
#1
|
Senior Member
Регистрация: 18.05.2008
Сообщений: 168
Бабло: $52225
|
Кодеры, выручайте :)
Всем привет.
Сабж такой: на дельфях пишу небольшую софтину, нужно нажать программно кнопку в TWebBrowser. Если у кнопки есть id или name, то вопросов нет. А вот как нажать кнопку, описанную так:
<input type="submit" class="button" value="Sign In" />
|
|
|
04.10.2010, 18:51
|
#2
|
Senior Member
Регистрация: 15.04.2007
Сообщений: 133
Бабло: $12765
|
Вызывай метод submit() на имя name формы, кнопку которой хочешь нажать.
|
|
|
04.10.2010, 19:01
|
#3
|
Member
Регистрация: 30.11.2009
Сообщений: 32
Бабло: $9925
|
если есть доступ к DOM, можно перебрать елементы по атрибутам. например по совпадению class, type, value.
|
|
|
04.10.2010, 19:07
|
#4
|
Senior Member
Регистрация: 18.05.2008
Сообщений: 168
Бабло: $52225
ТС -->
|
ТС
Цитата:
Сообщение от cossack
Вызывай метод submit() на имя name формы, кнопку которой хочешь нажать.
|
<form action="http://ля ля ля.com" method="post" class="ля ля ля">
<input type="hidden" name="ля ля ля" value="" />
<fieldset class="ля ля ля" id="sign">
<input type="text" name="email" value="" id="email" />
<input type="password" name="password" value="" id="password" />
<input type="submit" class="button" value="Sign In" />
</fieldset>
</form>
Вот такая там шняга. мыло и пароль заполняю гуд. Не понятно что за инпут такой первый самый, который hidden.
А примерчик не покажешь?
|
|
|
04.10.2010, 19:11
|
#5
|
Senior Member
Регистрация: 18.05.2008
Сообщений: 168
Бабло: $52225
ТС -->
|
ТС
Цитата:
Сообщение от safitudo
если есть доступ к DOM, можно перебрать елементы по атрибутам. например по совпадению class, type, value.
|
Пробовал. Делаю так:
var
ovElements: OleVariant;
i: Integer;
begin
ovElements := WebBrowser1.OleObject.Document.forms.item(0).eleme nts;
for i := 0 to (ovElements.Length - 1) do
if (ovElements.item(i).tagTybe = 'submit') then
ovElements.item(i).Click;
end;
Ругается:
|
|
|
04.10.2010, 19:19
|
#6
|
Senior Member
Регистрация: 15.11.2008
Сообщений: 13,195
Бабло: $247847031
|
так нету такого метода - tagTybe
tagType попробуй)
|
|
|
04.10.2010, 19:21
|
#7
|
Senior Member
Регистрация: 15.04.2007
Сообщений: 133
Бабло: $12765
|
Цитата:
Сообщение от trafbite
<form action="http://ля ля ля.com" method="post" class="ля ля ля">
<input type="hidden" name="ля ля ля" value="" />
<fieldset class="ля ля ля" id="sign">
<input type="text" name="email" value="" id="email" />
<input type="password" name="password" value="" id="password" />
<input type="submit" class="button" value="Sign In" />
</fieldset>
</form>
Вот такая там шняга. мыло и пароль заполняю гуд. Не понятно что за инпут такой первый самый, который hidden.
А примерчик не покажешь?
|
Ну тут имени формы нет. Поэтому то, что я написал не пойдет. Остается только вызывать click на нужный input.
Я незнаком с TWebBrowser и дельфями. Пишу такие вещи на питоне управляя напрямую эксплорером.
|
|
|
04.10.2010, 19:25
|
#8
|
Senior Member
Регистрация: 18.05.2008
Сообщений: 168
Бабло: $52225
ТС -->
|
ТС
Цитата:
Сообщение от imgreen
так нету такого метода - tagTybe
|
Да, согласен, это когда сюда набирал опечатался Ошибка есть и при tagType. Посоветуй что-нить еще
to cossack, жаль...
|
|
|
04.10.2010, 19:40
|
#9
|
Senior Member
Регистрация: 15.11.2008
Сообщений: 13,195
Бабло: $247847031
|
getAttributeNode("type") попробуй
|
|
|
04.10.2010, 19:53
|
#10
|
Senior Member
Регистрация: 18.05.2008
Сообщений: 168
Бабло: $52225
ТС -->
|
ТС
Цитата:
Сообщение от imgreen
getAttributeNode("type") попробуй
|
а примерчик?
|
|
|
|