Вопрос № 107584: На каком языке реализовать эту задумку???
Если есть возможность помогите подсказкой!
Вопрос вот в чем, как (лучше/легче/быстрее/удобнее) создать скрипт, который бы заходил на страничку (http://otvet.mail.ru/), заходил по паролю и логину,...
Вопрос № 107.584
На каком языке реализовать эту задумку???
Если есть возможность помогите подсказкой!
Вопрос вот в чем, как (лучше/легче/быстрее/удобнее) создать скрипт, который бы заходил на страничку (http://otvet.mail.ru/), заходил по паролю и логину, находил там некий элемент и кликал по
нему мышкой и т.д.? По идее он не должен быть сложным.
Нужна помощь в части того в какой среде писать такой скрипт? На
каком языке писать и как отлаживать? Ничего не знаю, но очень хочу
попробовать! Готов читать и изучать новый материал или язык
программирования, только покажите в каком направлении двигаться.
Отвечает: HookEst
Здравствуйте, Алекс Гулис!
Пробовал в HTML Application загружать страницу в FRAME, но чего-то mail.ru не хочет авторизовывать в фрейме. Предлагаю вариант с использованием контрола WebBrowser. Сам код писал на Basic. Достаточно простой язык для таких вещей. можно все делать в Excele, специально тестировал код имено в нем, но конечно есть есть VB6, то можно и там. Пишу для Excel.
В новой книге заходим в редактор VBA
создаем форму
на нее ложим label
и WebBrowser(если на Toolbox его нет, правой кнопкой мыши на Toolbox, потом в Additional Control нужно поставить галочку напротив "Обозреватель веб страниц(Microsoft)", на Toolbox должен появиться значок земного шара)
в модуль формы пишем:
Option Explicit
Sub getRate()
If WebBrowser1.Document Is Nothing Then Exit Sub
If WebBrowser1.Document.links Is Nothing Then Exit Sub
If WebBrowser1.Document.links.Length > 24 Then
StopTimer
MsgBox "Your Rate is " & Replace(WebBrowser1.Document.links.Item(23).innerHTML, " ", " ")
WebBrowser1.Document.links.Item(23).Click
Exit Sub
End If
End Sub
потом создаем обычный модуль, в него пишем:
Option Explicit
Declare Function SetTimer Lib "user32" _
(ByVal hwnd As Long, _
ByVal nIDEvent As Long, _
ByVal uElapse As Long, _
ByVal lpTimerFunc As Long) As Long
Declare Function KillTimer Lib "user32" _
(ByVal hwnd As Long, _
ByVal nIDEvent As Long) As Long
Private tmID As Long
Private Elapsed As Long
Sub TimerProc(ByVal hwnd As Long, _
ByVal uMsg As Long, _
ByVal idEvent As Long, _
ByVal dwTime As Long)
Elapsed = Elapsed + 1
UserForm1.Label1.Caption = "Time elapsed " & Elapsed
UserForm1.getRate
End Sub
Sub StartTimer()
tmID = SetTimer(0, 0, 1000, AddressOf TimerProc)
If tmID = 0 Then
MsgBox "SetTimer Failed!", vbCritical
Exit Sub
End If
End Sub
Sub StopTimer()
KillTimer 0, tmID
End Sub
делаем форму активной и жмем F5
при открытии формы, WebBrowser логинится на сайт, чтобы не ждать полной загрузки, запускается таймер и с интервалом 1 сек проверяется наличие ссылки где указан Ваш рейтинг(она 24 по счету), если эта ссылка уже загружена, выведется сообщение с Вашим рейтингом, и ссылка кликнется автоматически.
Вообщем, появятся вопросы, пишите.
Успехов.
Ответ отправил: HookEst (статус: Студент)
Ответ отправлен: 01.11.2007, 16:50