Страница: 1 |
Страница: 1 |
Вопрос: Webbrowser . Frame, IFrame
Добавлено: 11.04.11 14:54
Автор вопроса: Николай
Microsoft Visual Basic 2008
Здравствуйте.
Создал WinForm на ней расположил контролл WebBrowser , загружаю в него страницу и хочу получить код этой страницы целиком в текстовом виде для дальнейшей обработки, но натолкнулся на проблемму:
структура страницы примерно такого вида
<BODY>
.............
<FRAME>
.......
<IFRAME>
............
</IFRAME>
</FRAME>
</BODY>
куча фреймов и в них Ифреймов ...
вот именно к содержимому IFRAME я и не могу добраться :(
используя
используя
Подскажите как можно получить все данные с загруженной в webbrowser страницы целиком, не вытаскивая по отдельности из каждого фрейма.Вроде есть такое DOM который должен это делать но как с ним работать я не разобрался :( . Не смогли бы Вы уважаемые показать пример кода как построить этот DOM ?
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
Николай
Вопросов: 5
Ответов: 7
Профиль | | #1
Добавлено: 11.04.11 14:59
в интернете, на форумах искал, но всё в основном не совсем то что мне надо,либо слишком накрученно .. я только начал заниматься программированием , вышел на пенсию,появилось много свободного времени
Номер ответа: 2
Автор ответа:
Дмитрий Юпатов
Вопросов: 4
Ответов: 457
Web-сайт:
Профиль | | #2
Добавлено: 13.04.11 15:40
iframe служит для отображения левых страниц внутри текущей. Так что тебе надо сначала получить значение аргумента "src" для заданной iframe, а потом сделать navigate по указанному адресу. Вот тогда и получится все увидеть, чего там за содержимое.
Вот так можно получить всю коллекцию ifram-ов на странице и их атрибут src. Ну а дальше ходи по ссылкам
Номер ответа: 3
Автор ответа:
Дмитрий Юпатов
Вопросов: 4
Ответов: 457
Web-сайт:
Профиль | | #3
Добавлено: 13.04.11 15:41
Номер ответа: 4
Автор ответа:
Дмитрий Юпатов
Вопросов: 4
Ответов: 457
Web-сайт:
Профиль | | #4
Добавлено: 13.04.11 15:51
а если для других элементов (тогда и имя тега в коде другое, не забудь) надо получить содержимое внутри элемента, пользуй
wl.InnerHTML или InnerText. Просто у <iframe тут атрибут src>вот тут пустота</iframe>. Потому и получить нельзя, надо сходить по ссылке.
Номер ответа: 5
Автор ответа:
Николай
Вопросов: 5
Ответов: 7
Профиль | | #5
Добавлено: 16.04.11 14:13
Дмитрий Юпатов
Благодарю за помощь.
Но дело в том что мне хотелось бы получать данные именно из окна webbrowser не отправляя дополнительных запросов,нужная мне странница постоянно обновляется и создавая каждый раз запрос трафик увеличится вдвое
Номер ответа: 6
Автор ответа:
Дмитрий Юпатов
Вопросов: 4
Ответов: 457
Web-сайт:
Профиль | | #6
Добавлено: 22.04.11 00:35
Но дело в том что мне хотелось бы получать данные именно из окна webbrowser не отправляя дополнительных запросов,нужная мне странница постоянно обновляется и создавая каждый раз запрос трафик увеличится вдвое
ты не понял. В тексте страницы, которая содержит iframe, нет ничего что внутри этого самого iframe. Только урлик на содержимое, т.е. на другую страницу, которая отображается в iframe. Попробуй открыть страницу обычным браузером (тем же ишаком) и посмотри исходный код страницы: внутри <iframe></iframe> нет ничего.
Номер ответа: 7
Автор ответа:
Дмитрий Юпатов
Вопросов: 4
Ответов: 457
Web-сайт:
Профиль | | #7
Добавлено: 22.04.11 00:38
это кусок из твоего вопроса.
............
</IFRAME>
неужто вместо многоточия что то там есть? Если да, то смотри пост №4 касательно получения innertext - таким образом ты достанешь содержимое. Если нет, см. 2 и 3.