Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Народ, я в Вас верю!!! Добавлено: 22.06.04 17:22  

Автор вопроса:  Max-Neir
Помогите пожалуйста, кто знает как организовать поиск текста в окне компонента IE (SHDOCVW.DLL).
[Компонент используется в проге как браузер. Загружаю Web страницу, нужно на ней найти определенную строку текста, как быть???]http://www.vbnet.ru/forum/images/smiles/s7.gif

Ответить

  Ответы Всего ответов: 11  

Номер ответа: 1
Автор ответа:
 dNW



Вопросов: 30
Ответов: 683
 Профиль | | #1 Добавлено: 22.06.04 17:45
Есть такая функций поиска в тексте - InStr()

Ответить

Номер ответа: 2
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #2 Добавлено: 22.06.04 19:34
Ну сохраняешь страницу на диск, и вперёд!
если InStr не катит, можешь в цикле по буквам периберать и отделять слово одно от другого, и искать то что тебе нужно.

Ответить

Номер ответа: 3
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #3
Добавлено: 23.06.04 01:02
WebBrowser.document.body.innerText, кажется... И сохранять ничего не надо.

Ответить

Номер ответа: 4
Автор ответа:
 Max-Neir



Вопросов: 2
Ответов: 4
 Профиль | | #4 Добавлено: 23.06.04 01:05
Мне нужно искать строку напрямую в окне "браузера" , при этом страница находиться в состоянии загрузки и сохранить её нельзя, нужно хотя бы тогда передать данные из "браузера" в текстовую переменную, а как это сделать???

Ответить

Номер ответа: 5
Автор ответа:
 dNW



Вопросов: 30
Ответов: 683
 Профиль | | #5 Добавлено: 23.06.04 07:04
Это есть в справочнике API
http://vbnet.ru/forum/show.aspx?id=46365
Сохраняешь в фаил и InStr() твой помощник!

Ответить

Номер ответа: 6
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #6
Добавлено: 23.06.04 15:02
Dim HTML As String = WebBrowser.document.innerHTML

Попробуй так вытащить... Если не выйдет, поколупай другие объекты DOM
браузера, например, body...

Кстати, скорее всего регистр здесь будет критичен. То есть вот это:

Dim HTML As String = WebBrowser.document.innerhtml

может уже не сработать.

Ответить

Номер ответа: 7
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #7 Добавлено: 23.06.04 15:54
моежт тутне OCX WebBrowser имеется ввиду, а IE? И надо из него вытащить?

Ответить

Номер ответа: 8
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #8 Добавлено: 23.06.04 15:55
>в окне компонента IE (SHDOCVW.DLL).
Гы, ну сорри, сначала делаем, потом думаем :)

Ответить

Номер ответа: 9
Автор ответа:
 Max-Neir



Вопросов: 2
Ответов: 4
 Профиль | | #9 Добавлено: 23.06.04 16:26
>>>>>>> Павел
Впринципе это было-бы то-что нужно, но не работает, такое свойство не поддерживается обьектом, может знаешь какое-нибудь другое свойство или метод? А?
Повторюсь: сохранять страницу на диск нельзя, нужно динамически проверять существование определенного текста по мере загрузки страницы в окно "браузера".

Ответить

Номер ответа: 10
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #10
Добавлено: 23.06.04 17:39
Да.. document.innerHTML Не пашет. А вот document.body.innerHTML -
отлично!

Private Sub Command1_Click()
MsgBox WebBrowser1.Document.body.innerHTML
End Sub

Private Sub Form_Load()
WebBrowser1.Navigate2 "http://localhost"
End Sub

Только учти, что получить содержимое документа можно только после его
полной загрузки. Нельзя писать, например, так:

WebBrowser1.Navigate2 "http://localhost"
MsgBox WebBrowser1.Document.body.innerHTML

Потому что Navigate2 работает асинхронно, то есть не ожидает
окончания загрузки, а сразу выполняет код дальше. Поэтому советую
подписаться на событие DocumentComplete и в нём получать содержимое
документа.

Ответить

Номер ответа: 11
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #11
Добавлено: 23.06.04 17:45
А если нужно получить не HTML, а текст, то вместо innerHTML пиши
innerText.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам