|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#31
|
||||
|
||||
Цитата:
Или же если использовать вышеуказанный модуль jsWebBrowser, то примерно как-то так: Код:
Webbrowser1.getElementsByTagName('input',el,'type','radio'); |
#32
|
|||
|
|||
Так я же говорю что так не получается. Там ведь нужно еще учитывать поле value в котором есть значение которое мне нужно.
Код:
Webbrowser1.getElementsByTagName('input',el,'type','radio'); |
#33
|
|||
|
|||
И правда. я был не прав. он дает мне все элементы типа радио. в которых и содержатся ответы "Да".
|
#34
|
||||
|
||||
Цитата:
|
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
udachnik2 (09.11.2012)
|
#35
|
|||
|
|||
Да, так и есть, просто я не правильно выразился. Но теперь опять мне не понятно как сделать так что бы он выбирал только те где ответ да? Они ведь расположены так:
Да Нет Не знаю Да Нет Не знаю вот теперь надо как то настроить этот for...do что бы он отмечал только те что мне надо. Код:
Webbrowser1.getElementsByTagName('input',el,'type','radio'); for tip:=0+2 to 21 do el[tip].click; |
#36
|
||||
|
||||
Цитата:
|
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
udachnik2 (09.11.2012)
|
#37
|
|||
|
|||
Вах. Вот это да. Только я не знаю где у этих элементов лежит их value. Видел там GetAtribute. но при таком if el[tip].getAttribute('value')=1 then коде он говорит что не актуальны параметры.
|
#38
|
||||
|
||||
Цитата:
А вообще по значению value наверно не очень надёжно определять. Если нужно кликнуть только по тем, что "Да", то думаю лучше проверять, что текст там действительно "Да". |
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
udachnik2 (09.11.2012)
|
#39
|
||||
|
||||
Вот проверил. У меня вот так работает:
Код:
procedure TForm1.Button1Click(Sender: TObject); var el: Helems; i: Integer; begin Webbrowser1.getElementsByTagName('input', el, 'type', 'radio'); for i := Low(el) to High(el) do if AnsiSameText(Trim(el[i].parentElement.innerText), 'Да') then el[i].click; end; |
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
udachnik2 (09.11.2012)
|
#40
|
|||
|
|||
1. Определенно исключено изменение значения поля value на сервере. Я просто в этом уверен.
2. Спасибо за подсказку о подсказке. то есть должно быть так: Код:
Webbrowser1.getElementsByTagName('input',el,'type','radio'); for tip:=0 to 62 do if el[tip].getAttribute('value', 1)=1 then el[tip].click; Спасибо большое вам. |