Как проверить наличие конкретной ссылки в браузере

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
theal
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 148
Зарегистрирован: 03.05.2009 (Вс) 16:12

Как проверить наличие конкретной ссылки в браузере

Сообщение theal » 03.05.2009 (Вс) 20:26

Как узнать есть ли ссылка на сайте или нет..Потому что иногда приходится проверять ссылку на свой сайт при обмене ссылками

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Как проверить наличие конкретной ссылки в браузере

Сообщение awl100Alex » 03.05.2009 (Вс) 21:36

...проверять ссылку на свой сайт...

Код: Выделить всё
Private Const FLAG_ICC_FORCE_CONNECTION = &H1
Private Declare Function InternetCheckConnection Lib "wininet.dll" Alias "InternetCheckConnectionA" (ByVal lpszUrl As String, ByVal dwFlags As Long, ByVal dwReserved As Long) As Long

Private Sub Form_Load()
If InternetCheckConnection("http://www.mail.ru/", _
                            FLAG_ICC_FORCE_CONNECTION, 0&) = 0 Then
   MsgBox "Ссылка НЕ работает! :(", vbInformation
Else
   MsgBox "Ссылка работает! :)", vbInformation
End If
End Sub

...есть ли ссылка на сайте...
...проверять ссылку на свой сайт...

Это два разных вопроса!

theal
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 148
Зарегистрирован: 03.05.2009 (Вс) 16:12

Re: Как проверить наличие конкретной ссылки в браузере

Сообщение theal » 03.05.2009 (Вс) 21:41

Это не совсем то что надо..К примеру майл ру--сайт на котором находится ссылка на мой сайт (www.test.ru) мне надо на открывшемся сайте www.mail.ru проверить наличие ссылки на мой сайт www.test.ru

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Как проверить наличие конкретной ссылки в браузере

Сообщение awl100Alex » 03.05.2009 (Вс) 21:53

Тогда, может быть, нужно будет получить сначала текст страницы http://www.mail.ru и втавить твою ссылку через, к примеру - WebBrowser1.Document.links(i).href в InternetCheckConnection. Это как вариант можно попробовать.

theal
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 148
Зарегистрирован: 03.05.2009 (Вс) 16:12

Re: Как проверить наличие конкретной ссылки в браузере

Сообщение theal » 03.05.2009 (Вс) 21:59

Это каким образом??Можно в коде если не трудно?

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Как проверить наличие конкретной ссылки в браузере

Сообщение awl100Alex » 03.05.2009 (Вс) 22:38

Может быть и так...
Код: Выделить всё
Private Const FLAG_ICC_FORCE_CONNECTION = &H1
Private Declare Function InternetCheckConnection Lib "wininet.dll" Alias "InternetCheckConnectionA" (ByVal lpszUrl As String, ByVal dwFlags As Long, ByVal dwReserved As Long) As Long
Dim ie As Object

Private Sub Form_Load()
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate "http://www.mail.ru"
End Sub

Private Sub Command1_Click()
For i = 1 To ie.Document.links.length - 1
If InStr(1, ie.Document.links(i).href, "www.test.ru") <> 0 Then
  If InternetCheckConnection(ie.Document.links(i).href, _
                             FLAG_ICC_FORCE_CONNECTION, 0&) = 0 Then
    MsgBox "Ссылка НЕ работает! :(", vbInformation
  Else
    MsgBox "Ссылка работает! :)", vbInformation
  End If
End If
'List1.AddItem ie.Document.links(i).href
Next
End Sub

Private Sub Form_Unload(Cancel As Integer)
Set ie = Nothing
End Sub
Последний раз редактировалось awl100Alex 03.05.2009 (Вс) 23:10, всего редактировалось 1 раз.

theal
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 148
Зарегистрирован: 03.05.2009 (Вс) 16:12

Re: Как проверить наличие конкретной ссылки в браузере

Сообщение theal » 03.05.2009 (Вс) 22:49

Чё то ошибку скидывает на вот этой строке и результатов 0:

If InStr(1, ie.Document.links(i).href, "www.test.ru") <> 0 Then

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Как проверить наличие конкретной ссылки в браузере

Сообщение awl100Alex » 03.05.2009 (Вс) 22:54

Создай List1 запусти и просмотри: есть ли вообще там ссылка на твой сайт??? Укажи вместо http://www.test.ru полный адрес.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Как проверить наличие конкретной ссылки в браузере

Сообщение awl100Alex » 03.05.2009 (Вс) 23:02

У меня все работает. Вот посмотри проект...

P.S.
Забыл... добавь еще вот это, для верности кода...
Код: Выделить всё
Private Sub Form_Unload(Cancel As Integer)
Set ie = Nothing
End Sub
Вложения
href.rar
Пример исправленый...
(1.36 Кб) Скачиваний: 61
Последний раз редактировалось awl100Alex 03.05.2009 (Вс) 23:11, всего редактировалось 1 раз.

theal
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 148
Зарегистрирован: 03.05.2009 (Вс) 16:12

Re: Как проверить наличие конкретной ссылки в браузере

Сообщение theal » 03.05.2009 (Вс) 23:11

If InStr(1, ie.Document.links(i).href, "http://sputnik.mail.ru") <> 0 Then я изменил сайт в котором проверяем наличие ссылки..и сразу же та же самая ошибка (рунтайм эррор 91)
Последний раз редактировалось theal 03.05.2009 (Вс) 23:13, всего редактировалось 1 раз.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Как проверить наличие конкретной ссылки в браузере

Сообщение awl100Alex » 03.05.2009 (Вс) 23:12

А ты можешь дать полную ссылку твоего сайта?

theal
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 148
Зарегистрирован: 03.05.2009 (Вс) 16:12

Re: Как проверить наличие конкретной ссылки в браузере

Сообщение theal » 03.05.2009 (Вс) 23:14


awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Как проверить наличие конкретной ссылки в браузере

Сообщение awl100Alex » 03.05.2009 (Вс) 23:27

Cсылка без выбрыконов... вроде как должна определяться.
Попробуй скачать обновленный проект и еще раз попробовать.

P.S.
Надеюсь получилось...
И еще одно: не спеши нажимать на Command1_Click. Нужно время для загрузки страницы - это нужно учитывать! Не то получишь неполный список ссылок. Ну я думаю, ты это всё и так понял. :)

theal
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 148
Зарегистрирован: 03.05.2009 (Вс) 16:12

Re: Как проверить наличие конкретной ссылки в браузере

Сообщение theal » 14.05.2009 (Чт) 0:04

А как к примеру ,дано--ссылка (a) если такой ссылки нет-->чтобы проверялось наличие ссылки (b) b и так далее...Только всё это нужно проверять в компоненте WebBrowser1. То есть открываю страницу--проверяю наличие ссылки.Если такой нет ищем следующую ссылку.Если нет и следующей---тогда закрываем программу.(Всё должно выполняться автоматически без нажатий кнопок)

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Как проверить наличие конкретной ссылки в браузере

Сообщение awl100Alex » 14.05.2009 (Чт) 16:56

theal писал(а):А как к примеру ,дано--ссылка (a) если такой ссылки нет-->чтобы проверялось наличие ссылки (b) b и так далее... То есть открываю страницу--проверяю наличие ссылки.Если такой нет ищем следующую ссылку.(Всё должно выполняться автоматически без нажатий кнопок)

Если я правильно понял то, что тебе нужно, то вот тебе проект, который...
1) Открывает страницу сайта.
2) Находит все искомые ссылки из массива (базы данных) по порядку.
3) Выполняет переход (клик) по каждой из найденных на странице сайта ссылкам.
Вложения
href_surf.rar
Проверить наличие конкретной ссылки в браузере и выполнить последовательный переход...
(1.92 Кб) Скачиваний: 57


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 62

    TopList  
cron