Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Найти HTML элемент в браузере, зная его имя 
V
    Опции темы
Borland_Delphi_6
Дата 3.2.2008, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: нет
Всего: 20



Итак, имеется веб-страница, на ней есть какие-то элементы формы, пускай на ней помимо прочего имеется тег:

<select name="test">
<option value="1">Test 1
<option value="2">Test 2
</test>

Необходимо, зная имя тега <select> ("test"), получить входящие в него Option'ы. Как получить Option'ы я вроде бы знаю. Необходимо только выбрать из странички искомый элемент и проинициализировать его:

Select:=Element as IHTMLSelectElement;

Так вот, как мне получить нужное значение Element: IHTMLElement, если мне известно только имя искомого тега? Можно было бы перебором всех тегов на страничке, но наверняка есть способ по-изящнее?

Эх, надеюсь, понятно, о чем речь


--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
volvo877
Дата 3.2.2008, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 5
Всего: 116



Вот так, например:
Код

var
  select: IHTMLSelectElement;
  select_collection: IHTMLElementCollection;
  doc: IHTMLDocument2;
...

  doc := WebBrowser1.Document as IHTMLDocument2;
  select_collection := doc.all.tags('SELECT') as IHTMLElementCollection;
  select := select_collection.item('test', NULL) as IHTMLSelectElement;
...

вроде работает...
PM MAIL   Вверх
Borland_Delphi_6
Дата 5.2.2008, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: нет
Всего: 20



volvo877, спасибо, работает!  smile 

Вот кусок кода, позволяющий вывести список значений всех OPTION'ов, входящих в SELECT с именем "TEST", может кому пригодится smile

Код

procedure TForm1.Button2Click(Sender: TObject);
var
  select: IHTMLSelectElement;
  select_collection: IHTMLElementCollection;
  doc: IHTMLDocument2;
  Option: IHTMLOptionElement;
  i: integer;
begin
  doc := Wb1.Document as IHTMLDocument2;
  select_collection := doc.all.tags('SELECT') as IHTMLElementCollection;
  select := select_collection.item('TEST', NULL) as IHTMLSelectElement;
  if select <> nil then

  for i:=0 to select.length-1 do
  begin
  if Supports(select.item(i,0),HTMLOptionElement,option) then
  Memo1.Lines.Add(Option.text);
  end;

end;



--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0639 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.