![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Вообщем выполняю действия через TWebBrowser на сайте.
Но вдруг внезапно перестал находиться элемент, при том что в исходном коде он есть (смотрел в IE) о вобщем счете конструкция понятна Код:
var elem: IHTMLElement; document: IHTMLDocument2; all: IHTMLElementCollection; .... for i:=0 to all.length-1 do begin elem:=all.item(i, '') as IHTMLElement; if (elem.className='бла бла бла') then действия; end; Вопрос как такое может быть что он не находится теперь хотя в исходном коде есть? Вот буквально день назад все работало. |
|
#2
|
||||
|
||||
|
Либо ты неправильно его ищешь, либо он удаляется со страницы динамически до того, как ты его находишь. Думаю, что шансы 70/30 в пользу первого варианта.
|
|
#3
|
||||
|
||||
|
Так ну вот уже пример
страничка Код:
var
i: Integer;
elem: IHTMLElement;
document: IHTMLDocument2;
all: IHTMLElementCollection;
begin
document:=WebBrowser1.Document as IHTMLDocument2;
all:=document.all;
for i:=0 to all.length-1 do
begin
elem:=all.item(i, '') as IHTMLElement;
if (elem.getAttribute('name',0)='first') then
if (elem.className='form-input') then
elem.innerText:=name;
end;
end;Цитата:
Последний раз редактировалось ALexandr555, 17.11.2012 в 23:08. |
|
#4
|
||||
|
||||
|
Пройдись по циклу под отладчиком...
|
|
#5
|
||||
|
||||
|
Цитата:
|
|
#6
|
||||
|
||||
|
~1000 элементов глядеть? а вобще проходился на поиск тега "input",
нашел несколько полей, только не нужное. |
|
#7
|
||||
|
||||
|
Цитата:
Код:
..... elem.innerText:=name; ..... |
|
#8
|
||||
|
||||
|
Пардон, напартачил с выходом из цыкла.
предполагаемо последний элемент находился первым |