Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.11.2012, 14:40
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию Работа с DOM-моделью

День добрый! Есть форма:
Код HTML:
<form accept-charset="UTF-8" action="/portfels/1837381051" class="ff" id="question_answer" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="rcbpiBcjoUxciQ2Rxqw4a8bp89KEIL8o/oIQ8hP74yk=" /></div> <input id="answer" name="answer" type="hidden" value="1" /> <input id="status" name="status" type="hidden" value="1" /> <br> <div class='actions tac'> <span class='sub'> <button type='button'>Заполнено</button> </span> <span class='sub sub-disabled'><input data-disable-with="Ждите..." disabled="disabled" name="commit" type="submit" value="Далее" /></span> </div> </form>
Нужно программно нажать на кнопку "Заполнено", а потом далее. Наставьте на путь истинный пожалуйста!
Ответить с цитированием
  #2  
Старый 07.11.2012, 14:50
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию

Друзья! Я прошу хотя бы пнуть в нужную сторону, конечно если нет другого выхода.
Ответить с цитированием
  #3  
Старый 07.11.2012, 14:53
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Пинаю: соседняя тема, автор scroyler.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #4  
Старый 07.11.2012, 15:17
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от udachnik2
Друзья! Я прошу хотя бы пнуть в нужную сторону, конечно если нет другого выхода.
Я писал пример для scroylerвот здесь. Дальше я думаю разберёшься
Ответить с цитированием
  #5  
Старый 07.11.2012, 15:33
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию

PHP код:
procedure TForm1.Button1Click(SenderTObject);
var
  
DocIHTMLDocument2;
  
ButtonsIHTMLElementCollection;
  
ButtonIHTMLElement;
  
iInteger;
begin
  Doc 
:= WebBrowser1.Document as IHTMLDocument2;
  
Buttons := Doc.all.tags('BUTTON') as IHTMLElementCollection;
  for 
:= 0 to Buttons.length do
  
begin
    Button 
:= Buttons.item(iEmptyParam) as IHTMLElement;
    if 
AnsiSameText(Trim(Button.innerText), 'Вступить в группу'then
    begin
      Button
.click;
      Break;
    
end;
  
end;
end

Честно говоря я немного не понимаю что там нужно заменить что бы это подошло к моему случаю. Потому что у моей кнопки очень запутанный код.
Ответить с цитированием
  #6  
Старый 07.11.2012, 16:12
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от udachnik2
Честно говоря я немного не понимаю что там нужно заменить что бы это подошло к моему случаю. Потому что у моей кнопки очень запутанный код.
Честно говоря не вижу ничего запутанного в коде твоей кнопки.
Что именно тебе в коде непонятно?
Ответить с цитированием
  #7  
Старый 08.11.2012, 10:29
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию

Я закончил колледж, и там мне такие вещи не объясняли. В общем некоторые моменты мне не ясны. Например вот это
Код HTML:
<input name="utf8" type="hidden" value="&#x2713;" />

это такая кнопка?
Ответить с цитированием
  #8  
Старый 08.11.2012, 10:43
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию

Код:
Buttons := Doc.all.tags('BUTTON') as IHTMLElementCollection;

тут он на all ругается.
Ответить с цитированием
  #9  
Старый 08.11.2012, 10:44
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию

а вообще вот моя кнопка:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
Doc: IHTMLDocument2;
  Buttons: IHTMLElementCollection;
  Button: IHTMLElement;
  i: Integer;
begin
  Doc := WebBrowser1.Document as IHTMLDocument2;
  Buttons := Doc.all.tags('BUTTON') as IHTMLElementCollection;
  for i := 0 to Buttons.length - 1 do
  begin
    Button := Buttons.item(i, EmptyParam) as IHTMLElement;
    if AnsiSameText(Trim(Button.innerText), 'Заполнено') then
    begin
      Button.click;
      Break;
    end;
  end;
end;

ну и соответственно подключаю MSHTML

Последний раз редактировалось udachnik2, 08.11.2012 в 10:47.
Ответить с цитированием
  #10  
Старый 08.11.2012, 11:10
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
Doc: IHTMLDocument2;
  Buttons: IHTMLElementCollection;
  Button: IHTMLElement;
  i: Integer;
begin
  Doc := WebBrowser1.Document as IHTMLDocument2;
  Buttons := Doc.all.tags('BUTTON') as IHTMLElementCollection;
  for i := 0 to Buttons.length - 1 do
  begin
    Button := Buttons.item(i, EmptyParam) as IHTMLElement;
    if AnsiSameText(Trim(Button.innerText), 'Çàïîëíåíî') then
    begin
      Button.click;
      Break;
    end;
  end;
end;

Я нажал на первую кнопку. Но там есть еще продолжение:
Код:
<input data-disable-with="Ждите..." disabled="disabled" name="commit" type="submit" value="Далее" />
Как мне её то нажать? Её не получается найти таким способом. Она якобы не кнопка.
Ответить с цитированием
  #11  
Старый 08.11.2012, 11:14
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию

Померли все что ли?

Последний раз редактировалось udachnik2, 08.11.2012 в 11:19.
Ответить с цитированием
  #12  
Старый 08.11.2012, 11:31
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию

Ребятки, ну не чурайтесь помочь человеку. Я ведь не от хорошей жизни к вам обращаюсь за помощью.
Ответить с цитированием
  #13  
Старый 08.11.2012, 11:35
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

через:
Код HTML:
if btn.getAttribute('value', 2)='Далее' then btn.click;
можно найти
основная страница для справки http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
__________________
Пишу программы за еду.
__________________

Последний раз редактировалось NumLock, 08.11.2012 в 11:38.
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
udachnik2 (08.11.2012)
  #14  
Старый 08.11.2012, 12:00
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию

Чего то не пашет. я сделал так:
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
Doc: IHTMLDocument2;
  Buttons: IHTMLElementCollection;
  Button: IHTMLElement;
  i: Integer;
begin
  Doc := WebBrowser1.Document as IHTMLDocument2;
  Buttons := Doc.all.tags('BUTTON') as IHTMLElementCollection;
  for i := 0 to Buttons.length - 1 do
  begin
    Button := Buttons.item(i, EmptyParam) as IHTMLElement;
    if Button.getAttribute('value', 2)= 'Далее' then
    begin
      Button.click;
      Break;
    end;
  end;
end;
Ответить с цитированием
  #15  
Старый 08.11.2012, 12:40
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию

Значит не видать мне нажатия
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:14.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter