0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 50
1

Имитация нажатия на ссылку

14.05.2014, 12:30. Показов 4702. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Цель перезагрузить модем.
Мои действия:

Захожу на веб-интерфейс модема.
PowerShell
1
2
3
4
5
6
7
8
9
10
$ie = new-object -com "InternetExplorer.Application"
$ie.navigate("http://10.27.22.1/login.html")
$ie.visible = $true
$doc = $ie.document
$tb1 = $doc.getElementByID("username")
$tb2 = $doc.getElementByID("password")
$btn = $doc.getElementByID("login")
$tb1.value = "admin"
$tb2.value = "QdtVr56zP"
$btn.click()
Появился затык. Не могу имитировать нажатие на ссылку. Подскажите как это сделать?

Ссылка:
HTML5
<a onclick="ExpandMenu('admin');" href="#"></a>
Как еще нажать на кнопку:
HTML5
<input type="button" onclick="DoReBoot();" value="Перезагрузить уст-во" style="width: 180px;"></input>
Только начинаю изучать PowerShell. Поэтому не все получается.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2014, 12:30
Ответы с готовыми решениями:

Имитация нажатия
Подскажите как сымитировать программное нажатие на клавишу CTRL? уже второй день пытаюсь... Это...

Имитация нажатия клавиш
кто-нить подскажите vbs код для имитации нажатия клавиш, комбинация CTRL+V и нажатие клавиши...

Имитация нажатия клавиш
Всем привет,как сделать на c# эмуляцию нажатия клавиш,т.е окно программы было не активно,а в...

Имитация нажатия мышки
Посмотрел темы, в большинстве только о том как снять координаты или имитировать нажатия в...

8
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 50
14.05.2014, 12:50  [ТС] 2
Дополняю. Надо имитировать нажатие на ссылку "Обслуживание устройства", "Перезагрузка устройства" и на кнопку "Перезагрузить уст-во"

"Обслуживание устройства":
HTML5
<a onclick="ExpandMenu('admin');" href="#"></a>
"Перезагрузка устройства":
HTML5
<a onclick="ClickSubMenu('reboot');" href="#"></a>
Кнопка:
HTML5
<input type="button" onclick="DoReBoot();" value="Перезагрузить уст-во" style="width: 180px;"></input>
Миниатюры
Имитация нажатия на ссылку  
0
Администратор
Эксперт .NET
17477 / 13709 / 5287
Регистрация: 17.03.2014
Сообщений: 28,143
Записей в блоге: 1
15.05.2014, 02:01 3
privat13, использовать здесь COM объект IE это как стрельба из пушки по воробьям. Сделай лучше так. С помощью HTTP отладчика (например, Fiddler) посмотри какой HTTP запрос отправляется при нажатии на кнопку "Перезагрузить уст-во" и отправь его с помощью класса WebClient. Предварительно нужно еще будет отправить запрос на с логином и паролем чтобы создалась cookie (скорее всего именно так факт аутентификации отмечается). Для сохранения этой cookie между запросами понадобится класс CookieContainer. В итоге всё сведется к двум POST запросам скорее всего. Первый для аутентификации, второй для команды на перезагрузку. При условии, правда, что разработчики веб-интерфейса модема не решили защищаться от подобной автоматизации. Но не будем забегать вперед
1
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 50
15.05.2014, 07:07  [ТС] 4
Хотелось бы выполнить данную задачу с помощью штатных средств Win 7.
0
Администратор
Эксперт .NET
17477 / 13709 / 5287
Регистрация: 17.03.2014
Сообщений: 28,143
Записей в блоге: 1
15.05.2014, 12:01 5
Цитата Сообщение от privat13 Посмотреть сообщение
Хотелось бы выполнить данную задачу с помощью штатных средств Win 7.
Единственное нештатное средство это Fiddler. Его можно удалить сразу после того как ты разберешься какие HTTP запросы отправляются при логине и при запросе на перезагрузку. Если не хочется ставить Fiddler, то во всех современных браузерах есть инструменты разработчика где можно смотреть HTTP траффик. Вроде F12 стала общепринятой горячей клавишей для их вызова.
0
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 50
15.05.2014, 13:50  [ТС] 6
Установил Fiddler.
При нажатии на ссылку
HTML5
<a onclick="ExpandMenu('admin');" href="#"></a>
появляется информация в Fiddler.
Скрин во вложении. Нужное действие выделено синим. Что мне делать с этим? Извиняюсь, но немного не пойму.
Миниатюры
Имитация нажатия на ссылку  
0
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 50
15.05.2014, 14:03  [ТС] 7
На прошлое сообщение прошу не обращать внимания.

По нажатию на ссылку
HTML5
<a onclick="ClickSubMenu('reboot');" href="#"></a>
Fiddler показывает следующее (в прикрепленном файле). Каковы мои следующие действия? =)
Миниатюры
Имитация нажатия на ссылку  
0
Администратор
Эксперт .NET
17477 / 13709 / 5287
Регистрация: 17.03.2014
Сообщений: 28,143
Записей в блоге: 1
15.05.2014, 17:55 8
privat13, по скриншоту крайне тяжело будет объяснить. Сделай так:
  1. Запусти Fiddler
  2. Отключи протоколирование в Fiddler нажав F12. В строке статуса должна пропасть надпись Capturing
  3. Удали все сессии командой меню Edit -> Remove -> All Sessions
  4. Запусти браузер и открой страницу ввода пароля для роутера
  5. Включи протоколирование в Fiddler нажав F12. В строке статуса должна появиться надпись Capturing
  6. Авторизуйся на роутере, перейди на страницу с кнопкой перезагрузки и нами её. Постарайся делать только необходимые переходы по страницам чтобы легче было в протоколе разобраться.
  7. После окончания перезагрузки роутера переключись в Fiddler и отключи протоколирование нажав F12.
  8. Сохрани протокол работы в файл командной меню File -> Export Sessions -> All Sessions. В первом диалоге выбери формат HTTP Archive v1.2, далее куда сохранить файл
  9. Выложи этот архив сюда на форум.

Внимание! Т.к. в сессии будет записан пароль от твоего роутера, то советую сразу поменять его на другой или, перед тем как делать вышеуказанные шаги, поставь временный пароль и потом поменяй на старый.

Я посмотрю этот протокол и скину тебе необходимые HTTP запросы и заготовку PS кода с комментариями.
0
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 50
16.05.2014, 09:10  [ТС] 9
Выкладываю
Вложения
Тип файла: 7z 1.7z (2.7 Кб, 11 просмотров)
0
16.05.2014, 09:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2014, 09:10
Помогаю со студенческими работами здесь

Имитация нажатия клавиш
я захотел для игры stalker сделать бота, пока хочу просто передать нажатия клавиш, я запускаю игру...

Имитация нажатия кнопки
как программно сымитировать нажатие кнопки в программе нужно нажать кнопку PgUp а на клавиатуре ее...

Имитация нажатия клавиш
как только и не пытался всё выводит одну и туже ошибку, помогите начинающему c++ юзеру #include...

Имитация нажатия лкм
Здравствуйте! Столкнулся с проблемой. Необходимо нажать на кнопку &quot;Подключить&quot;. Вот окно: Это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru