Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Kill alert  (Прочитано 6147 раз)
0 Пользователей и 1 Гость смотрят эту тему.
zubr
Гость
« : 10-02-2008 07:28 » 

Пишу обучаемого бота. То есть пользователь обучает программу на какие страницы заходить, как авторизоваться, что закачать, что купить и по какой цене и т. д. и т. п. Но столкнулся с задачей: часто, при выполнении определенных действий пользователя на странице выскакивает Alert, на который пользователь должен ответить. Так вот, как, используя, объектную модель IE, программно ответить на Alert. Способ через оконные функции (FindWindow, EnumWindow, SendMessage) не предлагать, ибо я его реализовал, но это некрасиво, имхо.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 10-02-2008 13:12 » 

zubr, никак. alert() не создает объектов JS.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #2 : 10-02-2008 13:43 » 

а если запустить на машине обычную программу, которая постоянно ищет эти окошки и мочит ? Улыбаюсь
Записан

zubr
Гость
« Ответ #3 : 10-02-2008 15:19 » new

zubr, никак. alert() не создает объектов JS.
Мда.. хреново.
а если запустить на машине обычную программу, которая постоянно ищет эти окошки и мочит ? Улыбаюсь
Примерно так я и сделал, только не программу, а поток, вызываемый из программы перед появлением алерта. Но меня этот вариант не совсем устраивает, потому что:
1. Желательно не просто закрывать алерт, а в зависимости от текста сообщения, нажимать нужную кнопку. Хотя, стоп... можно попробовать через GetWindowText получить текст сообщения.
2. Программа многопоточная, то есть одновременно может запускаться несколько заданий. А вдруг получится, что в одном задании выскочит алерт и в другом и прога их перепутает, в не том алерте котором надо нажать Cancel, нажмет Ok и наоборот.
« Последнее редактирование: 10-02-2008 15:35 от zubr » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines