Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > получить элемент из InternetExplorer


Автор: GoldFinch 14.12.2009, 12:50
загружаю страницу в IE, на ней куча ифреймов, js кода и хз-еще-чего и в одном из них элемент с известным мне id
как добраться до этого элемента, не вникая в структуру документа?

если бы фреймов небыло, код был бы таким
Код

Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = true
IE.Navigate "...url..."

msgbox "waiting..."

set i = IE.Document.getElementById("ILO-18-TXF")
msgbox i.value


-----------
извиняюсь если не тот раздел, язык программирования мне совершенно не важен, 
главное чтоб через COM

Автор: diadiavova 14.12.2009, 14:19
Цитата(GoldFinch @  14.12.2009,  12:50 Найти цитируемый пост)
главное чтоб через COM

Это как бы тоже не в тот раздел. Но попробуй вот так
Код

set i = IE.Document.Frames("имя или индекс фрейма").Document.getElementById("ILO-18-TXF")
По идее, если фрейм грузится из того же домена, что и основной документ, то должно сработать. Если вместо имени фрейма используешь индекс, то без кавычек ессно.

Автор: GoldFinch 14.12.2009, 15:28
diadiavova, 
отладчик показывает что Frames пустой, может iframe за фреймы не считаются %)

Автор: diadiavova 14.12.2009, 15:30
Цитата(GoldFinch @  14.12.2009,  15:28 Найти цитируемый пост)
отладчик показывает что Frames пустой, может iframe за фреймы не считаются %) 

Должны считаться. Тогда вытяни их через ид, тэгнэйм или как угодно ещё. Ссылка на элемент фрейма в документе является ссылкой на объект window фрейма. Если они в одном домене ессно, а то не допустит.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)