Вопрос: Как получить html текст при использовании Br | Добавлено: 29.08.05 23:02 |
Автор вопроса: ![]() |
Как получить html при использовании контрола WebBrowser ?
Эти варианты не подходят: Text1 = WebBrowser1.Document.documentelement.innerhtml Text2 = WebBrowser1.Document.Body.innerhtml Они выдают html когда он уже полностью загружен, если вебмастер забудет поставить тег </html>, то ситуация еще хуже, прийдется долго ждать(около минуты), только потом там появляется html код. |
Ответы | Всего ответов: 18 |
Номер ответа: 1 Автор ответа: ![]() ![]() Вопросов: 14 Ответов: 102 |
Профиль | | #1 | Добавлено: 30.08.05 00:26 |
попробуй не через WebBrowser
у контролов возможностей меньше, нужно либо много сразу (контролов), либо еще что, не из них. я с этим не сталкивался, но тоже очень хотел бы знать. |
Номер ответа: 2 Автор ответа: ![]() ![]() Вопросов: 14 Ответов: 102 |
Профиль | | #2 | Добавлено: 30.08.05 00:27 |
а ты пытаешся свой веб браузер создать? |
Номер ответа: 3 Автор ответа: ![]() ![]() Вопросов: 44 Ответов: 127 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 30.08.05 09:14 |
Не через WebBrowser не могу, нужно именно через него, два раза один и тот же html файл скачивать не рационально, а в WebBrowser'е он обязательно должен быть и не методом navigate2.
Я пишу парсер с submitom. |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 30.08.05 12:10 |
А чем тебя не устраивает вариант загрузки HTML кода с пом. WinSock, потом вставки этого кода в браузер-контрол, и пока он подгружает графику и пр. ерунду, можешь вполне начать парсить строку что ему олтдал... |
Номер ответа: 5 Автор ответа: ![]() ![]() Вопросов: 44 Ответов: 127 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 30.08.05 12:17 |
Дело в том, что после такой операции иногда(только на некоторых сайтах) перестает работать кнопка submit. (я предпологаю из-за неправильного action, но не уверен) и как от этой неприятности избавиться я не знаю. |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #6 | Добавлено: 30.08.05 14:59 |
ну дык и action подпарсить можно... А вообще я такого невидел, чтоб оно из за этого глючило, покажи пример. |
Номер ответа: 7 Автор ответа: ![]() ![]() Вопросов: 44 Ответов: 127 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 30.08.05 16:41 |
action не всегда можно подпарсить.(я имею ввиду с пом. Dom) Мне попался сайт(не помню адрес) где после Form было не action, а target=_blank на нем action почемуто не парсилось.
А по поводу кривых action они почти везде. yandex.ru например |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #8 | Добавлено: 30.08.05 20:10 |
В яндексе экшен кривой?
<form name="web" method="get" action="http://www.yandex.ru/yandsearch"> <input type="hidden" name="rpt" value="rad"> <tr> <td><a href="http://www.yandex.ru/"><img src="http://img.yandex.ru/i/logo76x44.gif" alt="Яндекс" /></a></td> <td id="text"><input type="search" name="text" size="50" value="" /></td> <td><input type="submit" value="Найти!" /></td> </tr> <tr> <td colspan="3" class="pdg"><a class="mail" href="http://mail.yandex.ru"><span>Почта</span><span class="at"> @</span></a></td> </tr> </form> может ты парсиш криво? |
Номер ответа: 9 Автор ответа: ![]() ![]() Вопросов: 44 Ответов: 127 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 30.08.05 22:03 |
Я не знаю от чего у тебя другой код, у меня форма яндекса такая : <form name="web" method="get" action="/yandsearch" class="search"><input type="hidden" name="stype" value=""><input type="hidden" name="nl" value="0">
<td width="93%"><input type="text" name="text" value="" size="40" style="width: 100%;"/></td> <td><input type="submit" value="Найти" onClick="return search_type('www');" /></td> <td></form> Здесь action="/yandsearch" и при submite естественно будет ошибка. |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Вопросов: 130 Ответов: 6602 |
Профиль | Цитата | #10 | Добавлено: 30.08.05 22:21 |
Здесь action="/yandsearch" и при submite естественно будет ошибка.
Поясни, почему "будет" ошибка и почему она не происходит, когда, например, я жму кнопку Найти? |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #11 | Добавлено: 30.08.05 23:27 |
Да код тот же, мой просто с ya.ru а твой наверное с полного... Не в этом дело, если б экшен был кривой он бы не сабмитился, а коль сабмитится значит всё ок! |
Номер ответа: 12 Автор ответа: ![]() ![]() Вопросов: 44 Ответов: 127 |
Web-сайт: Профиль | Цитата | #12 | Добавлено: 30.08.05 23:31 |
Ошибка будет потому, что /yandsearch не содержит в себе и-нет адрес сайта. А у тебя не происходит она потому, что ты жмеш "найти", когда страница загружена из и-нета и твой браузер "помнит" откуда ее загрузил, и вместо /yandsearch отправляет данные по адресу http://www.yandex.ru/yandsearch
|
Номер ответа: 13 Автор ответа: ![]() ![]() Вопросов: 44 Ответов: 127 |
Web-сайт: Профиль | Цитата | #13 | Добавлено: 30.08.05 23:37 |
Для HACKER
Да я не в том смысле "кривой", что не работает, просто на разных сайтах action разный - где полый адрес, где вот такой "обрубок", а бывает еще хуже, без сниффера не поймешь куда форма данные отправляет.. |
Номер ответа: 14 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #14 | Добавлено: 31.08.05 17:10 |
погодь, винсоком чтоб забрать эту форму с сайта надо куда-то ж подключится, т.е. адрес известен. Отличить "обрубок" от полного, и если "обрубок" то отпарсить и првератить в полный адрес не составляет проблем. |
Номер ответа: 15 Автор ответа: ![]() ![]() Вопросов: 44 Ответов: 127 |
Web-сайт: Профиль | Цитата | #15 | Добавлено: 01.09.05 16:32 |
Если бы были только эти два варианта, я бы так и делал, но иногда форма отправляется вообще по какому то другому пути. К сожалению не могу привести пример, но мне такое встретитлось, понял куда летит только когда сниффером посмотрел. |
|