LINUX.ORG.RU

Автоматизация работы с браузером

 ,


0

1

Есть сайт для отправки писем http://fsin-pismo.ru. Я хочу как-то автоматизировать работу с ним в браузере, например, заполнять форму отправки письма javascript'ом

Например, у мнея браузер Firefox с аддоном Remote Control.

Я могу выбрать учреждение примерно следующими командами:

echo 'var ev = document.createEvent ("MouseEvents");ev.initEvent ("click", true, true);document.getElementById("CreateLetter.RegionComboBox").getElementsByTagName("img")[0].dispatchEvent (ev);' | nc localhost 32000
sleep 1
echo 'var d = document.getElementById("x-auto-10").getElementsByTagName("div");for (var i = 0; i < d.length; i++) {if (d[i].innerHTML == '"'"$REGION"'"') {var ev = document.createEvent("MouseEvents");ev.initEvent("click",true,true);d[i].dispatchEvent(ev);break;};};' | nc localhost 32000
echo 'var ev = document.createEvent ("MouseEvents");ev.initEvent ("click", true, true);document.getElementById("CreateLetter.DepartmentComboBox").getElementsByTagName("img")[0].dispatchEvent (ev);' | nc localhost 32000
sleep 1
echo 'var d = document.getElementById("x-auto-12").getElementsByTagName("div");for (var i = 0; i < d.length; i++) {if (d[i].innerHTML == '"'"$DEPARTMENT"'"') {var ev = document.createEvent("MouseEvents");ev.initEvent("click",true,true);d[i].dispatchEvent(ev);break;};};' | nc localhost 32000

Дальше я заполняю остальные поля примерно так:
echo 'document.getElementById("CreateLetter.PisonerLastNameTextField").value = "'"$LASTNAME"'";' | nc localhost 32000

И вот когда я всё заполнил и вручную в окне браузера нажимаю кнопку «Отправить», письмо не отправляется, появляется ошибка: «Null properties». При этом в окне браузера всё выглядит правильно.

Я подозреваю, что правильно не заполняются именно поля input. В чём тогда для сайта разница, заполняю ли я это руками или прописываю в скрипте value = string? Есть ли какой-нибудь другой способ заполнить поля, чтобы более точно симулировать пользовательский ввод?

Конечно, можно вообще зайти издалека и применить что-нибудь в роде xdotool, да уж больно не хочется.

★★★★★

watir, к нему для ff, кажется, была тулза позволяющая записывать твои действия в ruby-коту.

anonymous
()

Может быть есть скрытые поля которые у тебя не заполнены?

umren ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.