Программирование
Веб программирование

Программное заполнение полей на сайте

 
 

Сегодня мы будем проходить авторизацию на сайте в контакте, нет не через виншок а через веб браузер (да да да виншоком быстрее и круче ,но через браузер по мне проще,  лутше, да и код меньше)

На форму кидаем (ctrl + t => управления => Microsoft Internet Controls) (заранее скажу что этот компонент не присутствует у рядовых пользователей  и его надо регистрировать в системе , в противном случае вылетит ошибка с именем компонента!), теперь немного о том что мы будем заполнять я использовал для исследования Мозилу (Хотя эта функция есть в каждом браузере только везде она выглядет по разному)

 


Узнаём имя поля для ввода e-mail:


Узнаём имя поля для ввода пароля:



Узнаём имя кнопки для ввода:



Далее ищем в коде страницы:



Теперь применяем полученные знания в коде:

Option Explicit
Private Sub Form_load()
WebBrowser1.Silent = False 'если вывалится ошибка из веб браузера(на сайтах с кривым кодом) она не будет отображатся и программа на ней не остановится
WebBrowser1.Navigate "http://vk.com" 'навигация на сайт в контакте
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
On Error Resume Next 'появилась ошибка?, по*ер программа идёт дальше =)
Dim i% 'переменная
WebBrowser1.Document.All.Item("email").Value = "твой логин" 'заполнение поля с логином
WebBrowser1.Document.All.Item("pass").Value = "твой пароль" 'заполнение поля с паролем
WebBrowser1.Document.All.Item("quick_login_button").Click 'клик по кнопке
End Sub

Пример рабочего кода (данные изменены и они не сработают при авторизации)

'Option Explicit
'Private Sub Form_load()
'WebBrowser1.Silent = False
'WebBrowser1.Navigate "http://vk.com"
'End Sub
'Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
'On Error Resume Next
'Dim i%
'WebBrowser1.Document.All.Item("email").Value = "bac9_pupkin@pupkin.ru" 'WebBrowser1.Document.All.Item("pass").Value = "123456789"
'WebBrowser1.Document.All.Item("quick_login_button").Click
'End Sub

Есть вопросы? Спроси на нашем форуме!!
Release [19.06.2012 14:46]

Проще POST запрос сделать

DIGIUS [19.06.2012 16:53]

Запрос капчу тоже выведет?) ^_^

FakeMan [22.06.2012 20:24]

Спасибо! Теперь буду знать как делать боты на сайт.

Фрагер [22.06.2012 21:30]

да ты тру!!!я вообще не догадывался,что басик дружит с браузерами!

Алексей(alex13sh) [23.06.2012 00:10]

DIGIUS, огромное те спс теперь можн и к боту для сайтов приступить)))

FireDay [23.06.2012 03:06]

Спасибо!

Release [23.06.2012 11:12]

Капчу придется самостоятельно получать

DIGIUS [23.06.2012 19:42]

Да пожалуйста =)

-Гепард97- [25.06.2012 20:07]

Про капчу.

Либо запилите механизм, при помощи которого Вам бот выведет капчу и Вы ее решите - либо captchatrader com вам в помощь. Порешайте капчи за других ботов, набейте кредитов - и тогда Ваш бот сможет решать капчи через этот сервер.

фрагер [02.07.2012 13:22]

если "ломануть" капчу тогда можно любые подборшики паролей делать!но с капчей пока что проблемы

Фрагер [12.07.2012 19:23]

Народ помогите пожайлуста!
нужно на https://passport.yandex.ru/passport?mode=auth&from=mail
найдти код к кнопке вход!

FireDay [12.07.2012 19:35]

<input class="b-input__text" id="b-domik-username" type="text" name="login" value="" tabindex="5">
То есть - login

FireDay [12.07.2012 19:38]

Не то посмотрел, извиняюсь.

EverybodyLies [13.07.2012 12:20]

Еще один вариант авторизации - VK API. Возможно, потом напишу статью с исходными кодами работы с ВК.
Для разбора ответов от вк нужен Json Parser, но помощнее)

фрагер [15.07.2012 12:10]

Народ помогите!
нужно на https://passport.yandex.ru/passport?mode=auth&from=mail
найти код к кнопке вход!
Или создайте урок по post запросам!!!

Padre [15.07.2012 12:37]

Урок по POST запросам есть, ищи )
И тебе нужно юзать Яндекс XML

DIGIUS [26.10.2012 14:08]

поменяйте webbrowser1.slient = true чтобы не сбоил на сайтах с ошибками в коде

Brain43 [30.10.2012 12:58]

не пойму как вытащить имя кнопки из wap.teeda.ru
Помогите пожалуйста. Все что мог перепробовал

DIGIUS [31.10.2012 00:53]

Brain43, какая конкретно кнопка?, wap это так модно =)

Brain43 [31.10.2012 21:29]

DIGIUS, wap.teeda.ru/main/login кнопка "вход"
У каждого свои жуки в голове ;)

kronos [09.01.2013 23:43]

https://passport.yandex.ru/passport?mode=auth&from=mail
номер кнопки 173
код:
WebBrowser1.Document.All(173).click

Stertor [10.01.2013 01:26]

Спасибо, я перепишу это на си++.

Stertor [10.01.2013 01:51]

Братва, нарисуйте мне иконки на фотожабе? Всего нужно 4 штуки.

темы иконок:
* карантин;
* настройки;
* черный список;
* системный твикер.

В качестве расплаты, я, на выбор, подарю автору флудер или возьму его имя на вкладку "благодарности" в моей проге.
Ну что, по рукам?
Прошу присылать иконки мне на почту : vbpbautoit_builder@xaker.ru

set-code [10.01.2013 10:02]

Сам что найти не можешь?
_findicons.com
_iconfinder.com (Не доступен временно)

Переводи на английский и суй в поиск.

Лука [14.01.2013 19:50]

Ты сначала разберис

Coolhacker770 [29.06.2013 07:28]

Использовать XPath

vossal [29.06.2013 14:04]

А как его использовать в VB? Если не сложнО) Заранее благодарен)

Coolhacker770 [29.06.2013 15:11]

XPath VB6 в гугл

Есть множетво библиотек для не-.NET, TinyXpath например. Поищите - тучу всего найдете (парсинг html с помощью xpath, например).

Если есть желание юзать .NET, могу посоветовать HtmlAgilityPack, отличная вещь.

pskov-igor170 [22.07.2013 22:47]

Выручайте. Слетел компонент. Может кто скинет в архиве весь чтоб указать к нему путь через Обзор?

revolution10 [30.08.2014 18:14]

Люди, кто может, скиньте пожалуйста все команды для итемов на сайте. Например: WebBrowser1.Document.All.Item("Domain").click <- вот это я назвал командой(.click). Заранее спасибо!

Stertor370 [31.08.2014 21:25]

Посмотри вот это:
http://learn.javascript.ru/dom
http://www.wisdomweb.ru/HDOM/element.php
http://kurspk2009.narod.ru/progr/delphi/oleobject.htm
http://hpc.name/thread/3476/p1.html

но это так, для общего развития. Юзать WebBrowser в своих прогах, с целями, указанными в статье - дурной тон.



Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.