Re: AHK: Заполнение формы на веб-сайте
Куда и для чего?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Куда и для чего?
В том, что там был вставлен msgbox в функцию и все из-за этого сильно глючило и не работало.
Не знаю почему.
А Я непонимаю, что значит глючит, там вроде как и глючить остаётся не чему.
для чего?
Как для чего, ты же сказал что первый загруженный фрейм тебе не подходит. Я тебе предложил проверку адреса фрейма, и в ответ ты цитируешь как решение, код срабатывающий на первый загруженный фрейм (такой же как и в # 88).
Повторюсь, я не знаю как работает эта функция DocumentComplete(), при скольких загруженных фреймах она срабатывает и как мне может помочь таймер.
Но запусти эти 2 скрипта - вариант с мессаджбоксом в функции глючит, а с прерыванием цикла работает исправно.
link = http://www.delfi.lv/
ComObjError(false)
oIE := ComObjCreate("InternetExplorer.Application")
oIE.visible := True, oIEHWND := oIE.HWND
WinMaximize ahk_id %oIEHWND%
ComObjConnect(oIE, "IE_"), loading := true ; Connect IE object & set var "loading" as TRUE
oIE.navigate(link)
while, loading
Sleep, 10
MsgBox, % oIE.document.documentElement.OuterHtml
return
IE_DocumentComplete() { ; the "IE_" prefix corresponds to the ComObjConnect() function above
global loading := false ; Break the While-Loop
}
#Persistent
link = http://www.delfi.lv/
ComObjError(false)
oIE := ComObjCreate("InternetExplorer.Application")
oIE.visible := True, oIEHWND := oIE.HWND
WinMaximize ahk_id %oIEHWND%
ComObjConnect(oIE, "IE_"), loading := true ; Connect IE object & set var "loading" as TRUE
oIE.navigate(link)
return
IE_DocumentComplete() { ; the "IE_" prefix corresponds to the ComObjConnect() function above
MsgBox, % oIE.document.documentElement.OuterHtml
}
Коды одинаковы по функционалу. У меня 2 код не глючит, и что может глючить? Страница грузится сама по себе, вылезает MsgBox. Что именно у тебя глючит?
И опять вопрос - как 1 код тебе может подходить, если ты же пишешь:
msgbox выскакивает не загрузив страницу
Во втором коде страница начинает грузиться (белый экран в ИЕ) и тутже выскакивает пустой msgbox.
В первом коде msgbox с исходным кодом выскакивает только после загрузки страницы.
В первом коде msgbox с исходным кодом выскакивает только после загрузки страницы.
А у меня ещё до её визуального представления. Не знаю, у меня только это показывает вовремя:
link = http://www.delfi.lv/
oIE := ComObjCreate("InternetExplorer.Application")
oIE.visible := True, oIEHWND := oIE.HWND
WinMaximize ahk_id %oIEHWND%
ComObjConnect(oIE, eventsclass)
oIE.navigate(link)
Return
class eventsclass {
DocumentComplete(pDisp, URL) {
if URL = http://www.delfi.lv/
ToolTip OK
}
}
Ещё раз наглядно:
link = http://www.delfi.lv/
oIE := ComObjCreate("InternetExplorer.Application")
oIE.visible := True, oIEHWND := oIE.HWND
WinMaximize ahk_id %oIEHWND%
ComObjConnect(oIE, eventsclass)
oIE.navigate(link)
Return
class eventsclass {
DocumentComplete(pDisp, URL) {
Static str, i := 0
ToolTip % str .= ++i ": " URL "`n", 1 , 1
}
}
Твой код срабатывает при загрузке первого фрейма. В моём можно выбрать место.
Тогда есть вопросы.
Считаем, что код срабатывает верно, когда oIE.document.documentElement.OuterHtml !=""
1) Почему у меня срабатывает верно этот код, хотя там загружается тольео первый фрейм.
link = http://www.delfi.lv/
ComObjError(false)
oIE := ComObjCreate("InternetExplorer.Application")
oIE.visible := True, oIEHWND := oIE.HWND
WinMaximize ahk_id %oIEHWND%
ComObjConnect(oIE, "IE_"), loading := true ; Connect IE object & set var "loading" as TRUE
oIE.navigate(link)
while, loading
Sleep, 10
MsgBox, % oIE.document.documentElement.OuterHtml
return
IE_DocumentComplete() { ; the "IE_" prefix corresponds to the ComObjConnect() function above
global loading := false ; Break the While-Loop
}
Почему неверно срабатывает этот код, хотя в 6 фрейме загружается delfi.lv?
#persistent
link = http://www.delfi.lv/
oIE := ComObjCreate("InternetExplorer.Application")
oIE.visible := True, oIEHWND := oIE.HWND
WinMaximize ahk_id %oIEHWND%
ComObjConnect(oIE, eventsclass)
oIE.navigate(link)
Return
class eventsclass {
DocumentComplete(pDisp, URL) {
Static i := 0
i++
if i = 6
msgbox % oIE.document.documentElement.OuterHtml
}
}
3) Где про это можно почитать?
Static str, i := 0
ToolTip % str .= ++i ": " URL "`n", 1 , 1
#Persistent
link = http://www.delfi.lv/
ComObjError(false)
oIE := ComObjCreate("InternetExplorer.Application")
oIE.visible := True, oIEHWND := oIE.HWND
WinMaximize ahk_id %oIEHWND%
ComObjConnect(oIE, "IE_"), loading := true ; Connect IE object & set var "loading" as TRUE
oIE.navigate(link)
return
IE_DocumentComplete() { ; the "IE_" prefix corresponds to the ComObjConnect() function above
settimer, ok, -1
}
ok:
MsgBox, % oIE.document.documentElement.OuterHtml
Вот так работает. А у тебя?
Но опять же непонятно почему. Может функция возвращает не первый фрейм, а последний?
Ещё раз говорю, это тоже самое, идентично, никакой разницы! Ловит первый фрейм.
link = http://www.delfi.lv/
oIE := ComObjCreate("InternetExplorer.Application")
oIE.visible := True, oIEHWND := oIE.HWND
WinMaximize ahk_id %oIEHWND%
ComObjConnect(oIE, "IE_")
oIE.navigate(link)
return
IE_DocumentComplete(pDisp, URL) {
MsgBox % URL
}
А можно ли как-то получить oIE.document.documentElement.OuterHtml без загрузки флешбаннеров?
Не корректный вопрос.
Если как было:
А в этом коде функция IE_DocumentComplete срабатывает раньше, чем загрузилась страница.
то там что? Один фрейм?
Просто я понял, что мой вопрос не связан с определением загрузки страницы.
Визуально я вижу нужную мне информацию, но по нажатию
f11:: msgbox % oIE.document.documentElement.OuterHtml
получаю пустой мессаджбокс.
И только когда подгрузится флешбаннер я по нажатию f11 получаю код.
Так тебе, что нужно? Получить код, или поймать некий момент?
Получить код.
И только когда подгрузится флешбаннер я по нажатию f11 получаю код.
Ты на наверное хотел сказать, что в нужный момент, как можно скорее, получить код?
Да. Иными словами получить код, как только я его вижу визуально или раньше.
Не дожидаясь загрузки баннеров.
Хорошо. Но почему ты не приводишь результаты опытов с DocumentComplete? Какие фреймы когда грузятся, то есть - какой код при загрузке какого фрейма доступен?
А в этом нет смысла, так как во время загрузки страницы, после того как она появилась на экране без ожидания выполнения DocumentComplete я сразу нажимаю f11 и получаю пустой результат.
Ммм... Может проще тебе повторить, как в 107 посте, для взаимопонимания.
без ожидания выполнения DocumentComplete я сразу нажимаю f11 и получаю пустой результат.
Ну так и? Нажимаешь до, желая получить после?
А сейчас перестало долго тормозить при загрузке.
Непонятно.
Вот пример сайта, где DocumentComplete не срабатывает.
f10::
oIE := ComObjCreate("InternetExplorer.Application")
ComObjConnect(oIE, "IE_"), loading := true ; Connect IE object & set var "loading" as TRUE
oIE.visible := true
oIE.navigate("http://www.ss.lv/ru/real-estate/flats/riga/centre/hand_over/")
While oIE.readyState != 4 || oIE.document.readyState != "complete" || oIE.busy
Sleep, 10
oIE.document.querySelector("#f_o_8_min").value := 150
oIE.document.querySelector("#f_o_8_max").value := 250
oIE.document.querySelector("input[type=""submit""]").click()
while, loading
Sleep, 10
MsgBox, % oIE.document.documentElement.OuterHtml
return
IE_DocumentComplete() { ; the "IE_" prefix corresponds to the ComObjConnect() function above
global loading := false ; Break the While-Loop
}
Но работают таковые (как я понял) не на всех сайтах.
А возможно, чтобы IE не тянул за собой картинки, скрипты и флеш, по типу WinHttpRequest?
Если я выключу в настройках IE показывание картинок и отключу плагин флеш-плеера, значит ли это, что я не буду тратить время на их скачивание?
Вопрос хороший, лично я не в курсе.
Если я выключу в настройках IE показывание картинок и отключу плагин флеш-плеера, значит ли это, что я не буду тратить время на их скачивание?
Вообще это помогает экономить трафик. Следовательно, объекты действительно не загружаются.
Интересно, как програмно включить данные настройки, и желательно только для запущенного экземпляра.
Что даёт поиск:
Где хранятся настройки браузеров
IE Internet Explorer.IE HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main
C:\Users\username\AppData\Local\Microsoft\Windows\History
Параметры IE не хранятся в одном месте, а раскидано по всей системе .
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main - пользовательские настройки IE(стартовая страница, прокси и т.д.)
%USERPROFILE%\favorites - избранное, аля закладки.
%USERPROFILE%\AppData\Local\Microsoft\Windows\History(Win 7),
%USERPROFILE%\Local Settings\History (Win XP) - история посещенных страниц Internet Explorer%USERPROFILE% - переменная окружения, хранит в себе путь до профиля пользователя.
То есть в реестре наверно можно отключать. Но как на текущем экземпляре отразится - не проверял.
Как тут проверяли последний IE время от времени обращается к регистру во время работы.
как я получу текст в HTML виде не создав объект InternetExplorer.Application через скрипт?
Его же можно получить:
ControlGet, hwnd, HWND, , Internet Explorer_Server1, ahk_class IEFrame pwin := WBGet(hwnd) MsgBox % pwin.document.body.outerHTML WBGet(hwnd) { static msg := DllCall("RegisterWindowMessage", "str", "WM_HTML_GETOBJECT") , IID_IHTMLWindow2 := "{332C4427-26CB-11D0-B483-00C04FD90119}" SendMessage, msg,,,, ahk_id %hwnd% DllCall("oleacc\ObjectFromLresult", "Ptr", ErrorLevel, "Ptr", 0, "Ptr", 0, PtrP, pdoc) Return ComObj(9,ComObjQuery(pdoc,IID_IHTMLWindow2,IID_IHTMLWindow2),1), ObjRelease(pdoc) }
А можно ли таким маневром или как-нибудь еще нажать на кнопку в IE (не создавая изначально объект InternetExplorer.Application через скрипт )?
А можно ли таким маневром
Ну так всё как обычно, получаем элемент, применяем метод "Click".
Так обычно мы создаем объект, и получаем элемент.
А мне надо чтоб вот я сижу просто в броузере, нажимаю f11 и у меня кликает по кнопке.
Так, а что мешает нажать на кнопку, и получить элемент?
Так работает:
f9::
oIE := ComObjCreate("InternetExplorer.Application")
oIE.navigate("http://forum.script-coding.com/viewtopic.php?pid=93123#p93123")
oIE.visible := True, oIEHWND := oIE.HWND
WinMaximize ahk_id %oIEHWND%
While, oIE.busy
Sleep, 20
oIE.document.querySelector("INPUT[Name=""submit_button""]").click()
А так нет:
f9::
oIE := ComObjCreate("InternetExplorer.Application")
oIE.document.querySelector("INPUT[Name=""submit_button""]").click()
Я тебя не понимаю. Тебе нужен "твой" IE, или уже запущенный?
IE, который я запустил через start->programs->IE.
И в какой-то момент мне надо нажать на кнопку не мышкой, а клавишей.
Ну? Получаешь через
pwin := WBGet(hwnd)
и далее как работает.
У меня то работает, то не работает:
f3::
ControlGet, hwnd, HWND, , Internet Explorer_Server1, ahk_class IEFrame
pwin := WBGet(hwnd)
pwin.document.querySelector("INPUT[Name=""submit_button""]").click()
WBGet(hwnd) {
static msg := DllCall("RegisterWindowMessage", "str", "WM_HTML_GETOBJECT")
, IID_IHTMLWindow2 := "{332C4427-26CB-11D0-B483-00C04FD90119}"
SendMessage, msg,,,, ahk_id %hwnd%
DllCall("oleacc\ObjectFromLresult", "Ptr", ErrorLevel, "Ptr", 0, "Ptr", 0, PtrP, pdoc)
Return ComObj(9,ComObjQuery(pdoc,IID_IHTMLWindow2,IID_IHTMLWindow2),1), ObjRelease(pdoc)
}
Хммм. Иногда название контрола вместо Internet Explorer_Server1 дает Internet Explorer_Server8
Все, понял почему - После вызова панели разработчика IE меняет название контрола на Internet Explorer_Server8
А "ComObjectActive" (как в MSWord\Excel) для IE не работает?
Я нигде такого не встречал.
Метод из поста 138 хорош, только надо учитывать, что номер Internet Explorer_Server у IE после каких-либо действий может измениться.
Например, после вызова панели разработчика и ее закрытии, номер сервера меняется на 8. Так что метод не идеален. Кто его знает после каких обстоятельств контрол снова изменится.
Покопай на офф форуме, помнится что был код (аналог функции WBGet) который всегда берёт хэндл нужного контрола, что то там про родительский контрол.
По примеру отсюда, да и в справке наверно есть:
oIE := ComObjActive("InternetExplorer.Application")
Попробуй.
Покопай на офф форуме, помнится что был код (аналог функции WBGet) который всегда берёт хэндл нужного контрола, что то там про родительский контрол.
Что-то не могу накопать.
По примеру отсюда, да и в справке наверно есть:
oIE := ComObjActive("InternetExplorer.Application")
Попробуй.
Так у меня не работает.
К сожалению данный вариант не дает возможности использовать, информацию о загрузке страницы.
f3::
ControlGet, hwnd, HWND, , Internet Explorer_Server1, ahk_class IEFrame
pwin := WBGet(hwnd)
pwin.document.querySelector("INPUT[Name=""submit_button""]").click()
While pwin.readyState != 4 || pwin.document.readyState != "complete" || pwin.busy
Sleep, 10
msgbox, loaded
WBGet(hwnd) {
static msg := DllCall("RegisterWindowMessage", "str", "WM_HTML_GETOBJECT")
, IID_IHTMLWindow2 := "{332C4427-26CB-11D0-B483-00C04FD90119}"
SendMessage, msg,,,, ahk_id %hwnd%
DllCall("oleacc\ObjectFromLresult", "Ptr", ErrorLevel, "Ptr", 0, "Ptr", 0, PtrP, pdoc)
Return ComObj(9,ComObjQuery(pdoc,IID_IHTMLWindow2,IID_IHTMLWindow2),1), ObjRelease(pdoc)
}
Какие есть идеи по загрузке контента страницы на которой стоит "Auto Load More Data On Page Scroll"?
Возьмем, как пример - твиттер.
Пока пришло в голову либо c посылом Pgdn, что как-то криво:
oIE := ComObjCreate("InternetExplorer.Application")
oIE.navigate("https://twitter.com/autohotkey")
oIE.visible := True, oIEHWND := oIE.HWND
WinMaximize ahk_id %oIEHWND%
While oIE.readyState != 4 || oIE.document.readyState != "complete" || oIE.busy
Sleep, 10
loop 5
{
Send, {PgDn}
sleep, 500
}
If instr(oIE.document.documentElement.OuterHtml, "Check out our new tutorials forum")
msgbox all loaded
else
msgbox error
return
Либо с максимальным уменьшением окна эксплорера, что тоже не очень, так как не смог уменьшить окно эксплорера до нужных мне размеров.
Кто знает, как кликнуть на джава-скрипт кнопку без применения acc?
Так не нажимается.
oIE := ComObjCreate("InternetExplorer.Application")
oIE.navigate("http://help.dottoro.com/external/examples/ljwcseaq/onmousedown_4.htm")
oIE.visible := True, oIEHWND := oIE.HWND
WinMaximize ahk_id %oIEHWND%
While oIE.readyState != 4 || oIE.document.readyState != "complete" || oIE.busy
Sleep, 10
oIE.document.querySelector("BUTTON[Id=""testButton""]").click()
Та кнопка даже на ентер не реагирует.
oIE.document.all[18].click()
Так ошибки не выдает, но и не реагирует.
И еще кнопка реагирует и на клик правой и средней кнопки мыши.
oIE := ComObjCreate("InternetExplorer.Application")
oIE.navigate("http://help.dottoro.com/external/examples/ljwcseaq/onmousedown_4.htm")
oIE.visible := True, oIEHWND := oIE.HWND
WinMaximize ahk_id %oIEHWND%
While oIE.readyState != 4 || oIE.document.readyState != "complete" || oIE.busy
Sleep, 10
;~ initMouseEvent(eventType, canBubble, cancelable, viewArg, detailArg, screenXArg, screenYArg, clientXArg, clientYArg, ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, buttonArg, relatedTargetArg)
MouseDownEvent := oIE.document.createEvent("MouseEvent")
MouseDownEvent.initMouseEvent("mousedown",true,false, _, _, _, _, _, _, _, _, _, _, _, _)
MouseUpEvent := oIE.document.createEvent("MouseEvent")
MouseUpEvent.initMouseEvent("mouseup",true,false, _, _, _, _, _, _, _, _, _, _, _, _)
oIE.document.querySelector("BUTTON[Id=""testButton""]").dispatchEvent(MouseDownEvent)
oIE.document.querySelector("BUTTON[Id=""testButton""]").dispatchEvent(MouseUpEvent)
return
А вот вариант исполнения джаваскрипта напрямую:
IID := "{332C4427-26CB-11D0-B483-00C04FD90119}" ;// IID_IHTMLWindow2
oIE := ComObjCreate("InternetExplorer.Application")
oIE.navigate("http://help.dottoro.com/external/examples/ljwcseaq/onmousedown_4.htm")
oIE.visible := True, oIEHWND := oIE.HWND
WinMaximize ahk_id %oIEHWND%
While oIE.readyState != 4 || oIE.document.readyState != "complete" || oIE.busy
Sleep, 10
window := ComObj(9,ComObjQuery(oIE,IID,IID),1)
window.OnButtonDown(button := oIE.document.getElementById("testButton"))
sleep 200
window.OnButtonUp()
Или так:
oIE := ComObjCreate("InternetExplorer.Application")
oIE.navigate("http://help.dottoro.com/external/examples/ljwcseaq/onmousedown_4.htm")
oIE.visible := true
While oIE.readyState != 4 || oIE.document.readyState != "complete" || oIE.busy
Sleep, 10
oIE.document.parentWindow.execScript("OnButtonUp()")
Какие есть варианты получения информации о том, что IE завис?
Отправить сообщение (не знаю какое), если не ответит - значит завис.
Бывает, что зависает не весь IE, а некоторые вкладки (tabs).
Делал нечто подобное.
Брал заранее известное количество элементов и если страница прогрузила достаточное кол-во элементов, то значит все в порядке, если нет - зависло.
Что то вроде:
loop,1000 ; как долго ждать (100 сек)
{
sleep,100
if NumOfElements>500
break
}
Скорей всего не подойдет, если кол-во элементов не меняется при "зависании".
Да, не подойдет.
Вот тут написано о сообщении - но как его послать IE не пойму.
https://support.microsoft.com/en-us/kb/231844
Что-то такой метод определения загрузки страницы иногда меня подводит.
ИЕ не выходит из цикла.
While oIE.readyState != 4 || oIE.document.readyState != "complete" || oIE.busy
Sleep, 10
Поэтому использую вот такой:
loop 100
{
oIE.navigate("http://www.yandex.ru")
While !InStr(oIE.document.documentElement.OuterHtml, "yandex")
Sleep, 10
oIE.navigate("about:blank")
While (oIE.document.documentElement.OuterHtml != "<html><head></head><body></body></html>")
Sleep, 10
}
Есть ли какие-нибудь 100% варианты?
Кто-то пользуется только такой строкой?
Дает осечку?
While oIE.readyState != 4
Таким вариантом пользовался:
gosub,WaitIE ; вставлять там где нужно ждать загрузки
WaitIE:
While IE.readyState != 4 || IE.busy
{
tooltip,% index
Sleep,100
}
loop ; ,1200
{
elements:=IE.document.body.all
if elements.length>500
break
sleep,100
tooltip,% a_index "`n" elements.length
}
tooltip
if (ie.document.getElementById("mainTitle").InnerText="Internet Explorer не может отобразить эту веб-страницу")
{
tooltip,Ошибка
return
}
return
Возможно как-то сделать автозаполнение без привязки к адресу страницы, т.е. без oIE.navigate.
Чтобы автозаполнение работало не только с одной страницей ???
nuts, ознакомьтесь с этой темой, отредактируйте свой пост.
А предыдущую страницу не пробовали почитать?
Malcev Читал всю тему, ответа не нашел.
; зайти на эту ссылку и нажать f3 http://forum.script-coding.com/login.php
f3::
ControlGet, hwnd, HWND, , Internet Explorer_Server1, ahk_class IEFrame
pwin := WBGet(hwnd)
pwin.document.querySelector("#fld1").value := "login"
pwin.document.querySelector("#fld2").value := "pass"
return
WBGet(hwnd) {
static msg := DllCall("RegisterWindowMessage", "str", "WM_HTML_GETOBJECT")
, IID_IHTMLWindow2 := "{332C4427-26CB-11D0-B483-00C04FD90119}"
SendMessage, msg,,,, ahk_id %hwnd%
DllCall("oleacc\ObjectFromLresult", "Ptr", ErrorLevel, "Ptr", 0, "Ptr", 0, PtrP, pdoc)
Return ComObj(9,ComObjQuery(pdoc,IID_IHTMLWindow2,IID_IHTMLWindow2),1), ObjRelease(pdoc)
}
Malcev Под гугл хром его можно подпилить ???
Через Selenium наверное можно.
Но тут вам придется самому пилить.
Потом можете результаты запостить тут:
http://forum.script-coding.com/viewtopic.php?id=11530
Malcev А я вот что нарыл, функционал как раз то что надо для интернет магазина и заполнения форм и кучу всякого хлама в придачу устанавливать не надо как с Selenium.
Извиняюсь если оффтоп. https://xakep.ru/2014/10/20/imacros/
nuts, для заполнения форм тогда уже будет удобнее LastPass.
becauseim Вообще не то, причем тут логин и пароль. Речь идет о заполнении форм основываясь на их ID ( и нажиманию кнопок, чекбоксов и т.п. на странице ), например в админке интернет магазина или любом другом сайте с такими-же ID.
nuts, есть возможность заполнения форм. Есть стандартные положения, такие как "телефон", "адрес", "Ф.И.О.", а также возможность добавления пользовательских форм на любых языках. Исходя из названия темы, я представил себе именно это. Переключение чекбоксов в упомянутом мною сервисе, скорее всего, не предусмотрено.
Помогите пожалуйста, в данном примере поле "СООБЩЕНИЕ" остается не заполненным. Что нужно добавить/исправить?
oIE := ComObjCreate("InternetExplorer.Application")
oIE.navigate("http://donatepay.ru/donation/stasikpwnz")
oIE.visible := True, oIEHWND := oIE.HWND
WinMaximize ahk_id %oIEHWND%
While, oIE.busy
Sleep, 20
Input:
MsgBox Заполнить
oDoc := oIE.document
oDoc.querySelector("#name").value := "user"
oDoc.querySelector("#amount").value := "500"
oDoc.querySelector("#message").value := "сообщение"
MsgBox Пожертвовать
oDoc.querySelector("button[class=""button mr10 goButton pull-right""]").click()
У поля "сообщение" айди нету и это div.
А у div нету аттрибута value.
Зато есть textContent и innerText.
Зато есть textContent и innerText.
А как их правильно применить в данной ситуации?
При замене "value", текст подставляется, но не в поле, а за место поля и не отправляется.
Я же написал, что
У поля "сообщение" айди нету
Поэтому посмотрите, за что там можно зацепиться и используйте форму записи по типу:
oDoc.querySelector("button[class=""button mr10 goButton pull-right""]")
Вообще-то у поля "сообщение" id есть.
А через консоль у меня так заполняет поле "сообщение", например:
$('div')[28].innerText = ("сообщение")
Как под com это переделать, не проверял.
Вообще-то у поля "сообщение" id есть.
И какое же оно?
Тут.
Что значит тут?
Назовите id.
Там же указано в средствах разработчика:
id="message", а у тс: #message.
Раз там всё указано, то почему вы заполняете с консоли не через айди?
Заполните через id="message" и посмотрите результат.
Там же указано в средствах разработчика:
id="message"
, а у тс: #message
Учите матчасть.
почему вы заполняете с консоли не через айди?
Потому что через id сообщение "въедается" в это окно, и больше не заполняется, а через div нормально все.
Вообще-то у поля "сообщение" id есть.
Раз там всё указано, то почему вы заполняете с консоли не через айди?
Потому что через id сообщение "въедается" в это окно, и больше не заполняется
Вы сами себе противоречите.
а через div нормально все.
Что вы имеете в виду "через div"?
Я имею в виду, что можно перебрать все div элементы найти нужный и заполнить его.
Можно и это делается методом getElementsByTagName или как у вас через jquery.
Но это совсем не значит, что у всех перебираемых элементах должен присутствоовать свой айди.
oIE := ComObjCreate("InternetExplorer.Application")
oIE.visible := True, oIEHWND := oIE.HWND
oIE.navigate("http://samp-rp.su/login/")
WinMaximize ahk_id %oIEHWND%
While, oIE.busy
Sleep, 20
Input:
oDoc := oIE.document
oDoc.querySelector("input[name=""login""]").value := "Тут Логин"
oDoc.querySelector("input[name=""password""]").value := "Тут Пароль"
Sleep, 1000
oDoc.querySelector("button[class=""button button--primary button--icon button--icon--login rippleButton""]").click()
Sleep, 3000
oIE.navigate("http://samp-rp.su/forums/transport-pokupka-prodazha-obmen.516/post-thread")
Кто может сказать в чём причина что по второй ссылке уже не проходит, и выдаёт ошибку что navigate занят
vano3341, вряд ли вам тут будут помогать в изготовлении спам-бота.
Чтобы отправить ответ, вы должны войти или зарегистрироваться