Я пытаюсь написать макрос, который будет просто входить на этот веб-сайт.
Я уже несколько раз просматривал веб-страницы и всегда мог успешно делать подобные вещи надругие сайты, но я не могу понять это.
Я пробовал очень много вещей, последняя попытка (будучи очень отчаянной!) Состояла в том, чтобы ввести имя пользователя и пароль, вызвать все возможные сценарии и запустить все возможные события, см. Код ниже.Пожалуйста, не обращайте внимания на то, как я делал / называл определенные вещи (например, eventsArray для коллекции и т. Д.) - я продолжал пробовать новые вещи и менять код много раз, все это временно.
Dim eventsArray As New Collection
eventsArray.Add "abort"
eventsArray.Add "afterprint"
eventsArray.Add "animationend"
eventsArray.Add "animationiteration"
eventsArray.Add "animationstart"
eventsArray.Add "beforeprint"
eventsArray.Add "beforeunload"
eventsArray.Add "blur"
eventsArray.Add "canplay"
eventsArray.Add "canplaythrough"
eventsArray.Add "change"
eventsArray.Add "click"
eventsArray.Add "contextmenu"
eventsArray.Add "copy"
eventsArray.Add "cut"
eventsArray.Add "dblclick"
eventsArray.Add "drag"
eventsArray.Add "dragend"
eventsArray.Add "dragenter"
eventsArray.Add "dragleave"
eventsArray.Add "dragover"
eventsArray.Add "dragstart"
eventsArray.Add "drop"
eventsArray.Add "durationchange"
eventsArray.Add "ended"
eventsArray.Add "error"
eventsArray.Add "focus"
eventsArray.Add "focusin"
eventsArray.Add "focusout"
eventsArray.Add "fullscreenchange"
eventsArray.Add "fullscreenerror"
eventsArray.Add "hashchange"
eventsArray.Add "input"
eventsArray.Add "invalid"
eventsArray.Add "keydown"
eventsArray.Add "keypress"
eventsArray.Add "keyup"
eventsArray.Add "load"
eventsArray.Add "loadeddata"
eventsArray.Add "loadedmetadata"
eventsArray.Add "loadstart"
eventsArray.Add "message"
eventsArray.Add "mousedown"
eventsArray.Add "mouseenter"
eventsArray.Add "mouseleave"
eventsArray.Add "mousemove"
eventsArray.Add "mouseover"
eventsArray.Add "mouseout"
eventsArray.Add "mouseup"
eventsArray.Add "mousewheel"
eventsArray.Add "offline"
eventsArray.Add "online"
eventsArray.Add "open"
eventsArray.Add "pagehide"
eventsArray.Add "pageshow"
eventsArray.Add "paste"
eventsArray.Add "pause"
eventsArray.Add "play"
eventsArray.Add "playing"
eventsArray.Add "popstate"
eventsArray.Add "progress"
eventsArray.Add "ratechange"
eventsArray.Add "resize"
eventsArray.Add "reset"
eventsArray.Add "scroll"
eventsArray.Add "search"
eventsArray.Add "seeked"
eventsArray.Add "seeking"
eventsArray.Add "select"
eventsArray.Add "show"
eventsArray.Add "stalled"
eventsArray.Add "storage"
eventsArray.Add "submit"
eventsArray.Add "suspend"
eventsArray.Add "timeupdate"
eventsArray.Add "toggle"
eventsArray.Add "touchcancel"
eventsArray.Add "touchend"
eventsArray.Add "touchmove"
eventsArray.Add "touchstart"
eventsArray.Add "transitionend"
eventsArray.Add "unload"
eventsArray.Add "volumechange"
eventsArray.Add "waiting"
eventsArray.Add "wheel"
'set un and pw obj
Set user = IE.Document.all.user
Set pass = IE.Document.all.pass
'enter un and pw
user.Value = "test@test.com"
pass.Value = "test123"
'for each element
For Each ele In Array(user, pass)
'fire all poss events
For Each fEvent In eventsArray
On Error Resume Next
ele.FireEvent ("on" & fEvent)
ele.FireEvent (fEvent)
On Error GoTo 0
Next
Next
'exec all scripts availible in document
For Each scr In IE.Document.Scripts
On Error Resume Next
Call IE.Document.parentWindow.execScript(scr.src, "JavaScript")
On Error GoTo 0
Next
'sign in
IE.Document.getElementById("loginLink").Click
Что происходит после нажатия входаон возвращает «Вам не хватает адреса электронной почты, бла-бла», и оба значения исчезают.Если я изменю одно из этих полей вручную перед отправкой, другое значение исчезнет.
Я пробовал некоторые случайные вещи, такие как добавление прослушивателей событий, нажатие, фокусировка и что нет, даже пытался делать все эти вещи после вводакаждый символ для имени пользователя и пароля.Я признаю, что просто слепо попробовал все эти вещи в надежде, что что-то сработает, очевидно, не увенчался успехом, и я не знаю, что делать.Буду признателен за любую помощь!
/ edit: я достиг желаемого результата с помощью sendkeys (пробел + backspace в каждом поле), однако я не хочу делать это таким образом.Конечно, есть лучший способ?