Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вычисление URL-ссылки через WebBrowser / 6 сообщений из 6, страница 1 из 1
29.05.2008, 02:43
    #35341740
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисление URL-ссылки через WebBrowser
Есть элемент WebBrowser.
Он отображает WEB-страницу.
Известно, что эта страница содержит ссылку вида
<a href="msglist?folder=0&1594156841"><b>Входящие</b></a>
если эту ссылку знать (число 0&1594156841 не очевидно и может быть любое, но читается из html-кода), то команда Navigate на ссылку:
http://win.mail.ru/cgi-bin/msglist?folder=0&1594156841
приводит в нужное место.
Вопрос: как грамотно перебрать URL-ы, с целью понять нужный, если структуру
<a href="msglist?folder=************"><b>Входящие</b></a> требуемого я знаю.

Один из способов -прочесть "Просмотр html-кода" Как это сделать из webbrouser?

Или есть более красивые способы, типа перебор всех ссылок URL и сравнивать на предмет шаблона, но опять же не знаю как их извлечь...

Конечной задачей является чтение письма во "входящих" через Web-интерфейс, тема письма известна, читать письмо научился, но не знаю как перейти к самому письму.
Я бы конечно сделал это через MAPI, но надо именно через Web.
...
Рейтинг: 0 / 0
29.05.2008, 10:11
    #35342053
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисление URL-ссылки через WebBrowser
Код: plaintext
1.
2.
3.
Set links = Webbrowser1.document.getElementsByTagName("a")
For x =  0  to links.length- 1 
    debug.print links(x).href 
next
...
Рейтинг: 0 / 0
29.05.2008, 12:49
    #35342788
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисление URL-ссылки через WebBrowser
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub Command4_Click()
    Set links = WebBrowser1.Document.getElementsByTagName("a")
    For x =  0  To links.length -  1 
        If InStr(links(x).href, "msglist?folder=") >  0  Then
            Debug.Print links(x).href 'msglist?folder=
            Exit Sub
        End If
    Next
End Sub
Спасибо, в папку допустим зашел, дальше надо прочитать письмо
"http://win.mail.ru/cgi-bin/readmsg?id=12120174270000024750"
Если оно не единственное, то таких ссылок будет несколько, и я не знаю -первое или второе, из надписи на ссылке (тема письма), однозначно следует, оно или не оно.

Сразу возникает конкретный вопрос: а как эту надпись на ссылке прочесть?

И где вообще можно почитать про всю эту VB-HTML кухню ибо поиск в Object Browser по слову getElementsByTagName ничего не дал. Интуитивно ясно, что WebBrowser1.Document.чего-нибудь , только вот где описания структуры этих делов.
...
Рейтинг: 0 / 0
29.05.2008, 13:35
    #35342999
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисление URL-ссылки через WebBrowser
авторСразу возникает конкретный вопрос: а как эту надпись на ссылке прочесть?links(x).innerText
авторИ где вообще можно почитать про всю эту VB-HTML кухню ибо поиск в Object Browser по слову getElementsByTagName ничего не дал.
Нужно подключить в референсах Microsoft HTML object library. Описание есть в MSDN .
...
Рейтинг: 0 / 0
30.05.2008, 01:24
    #35344611
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисление URL-ссылки через WebBrowser
Да уж, именно то что хотелось...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
            Set links = WebBrowser1.Document.getElementsByTagName("a")
            For x =  0  To links.length -  1 
                If (InStr(links(x).href, "msglist?folder=") >  0 ) And (InStr(links(x).innerText, "Входящие") >  0 ) Then
                    Form1.WebBrowser1.Navigate links(x).href
                    Set links = Nothing
                    Exit Sub
                End If
            Next
и т.д., и т.п, все сделал, супер!
За ссылку на библиотеку премного благодарен, буду разбираться по мере необходимости.
...
Рейтинг: 0 / 0
15.05.2009, 00:50
    #35987002
theal
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисление URL-ссылки через WebBrowser
Чтоб найти ссылку по названию -примени этот код
кроме того что найдёш--ещё и перейдёш по ней

автор
Dim i As Long, cur As Long
Randomize
WebBrowser1.Navigate Texsite.Text
While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
For Each TestLink In WebBrowser1.Document.links
If TestLink.innerText = "войти в почту" Then
Exit For
End If
i = i + 1
Next TestLink
cur = Int(6 * Rnd + i + 1)
WebBrowser1.Document.links(cur).Click
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вычисление URL-ссылки через WebBrowser / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]