Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обработка Java script в Ruby, нажатие кнопки 
:(
    Опции темы
Wise1986
  Дата 20.6.2008, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.6.2008

Репутация: нет
Всего: нет



Есть страница, на которой размещена кнопка:
<a href="login.asp?mode=logout" onclick="return confirm('Do You really want to quit from admin part?')"><img src="../images/admin/logoff.gif" alt="Logout" width="16" height="16" /></a>

При нажатии появляется диалоговое окно (Java script) с двумя кнопками ("ОК", "Отмена")

Подскажите пожалуйста, каким образом в Ruby/Watir можно нажать на какую-либо кнопку в появившемся окне?

Помогите плз - вопрос жизни и смерти!

Это сообщение отредактировал(а) Wise1986 - 20.6.2008, 16:29
PM MAIL   Вверх
v2v
Дата 21.6.2008, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 1
Всего: 56



надо полностью на серверной части формировать линк, вот например:
Код

link_to "Delete", { :controller => "admin",
  :action => "delete",
  :id => @post },
{ :class => 'css-class',
  :id => 'css-id',
  :confirm => "Are you sure?" }

и он сам будет определять как обрабатывать Ок, Отмена.


--------------------
PM   Вверх
Wise1986
Дата 21.6.2008, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.6.2008

Репутация: нет
Всего: нет



не, надо сделать именно для такого варианта - в сервак низя лазить
Тоесть по сути нужно закрыть всплывающее окно

Я подозреваю нужно отдельный поток сделать, тока как это всё потом припаять чтоб вместе всё работало...

Это сообщение отредактировал(а) Wise1986 - 21.6.2008, 22:43
PM MAIL   Вверх
v2v
Дата 21.6.2008, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 1
Всего: 56



Цитата(Wise1986 @  20.6.2008,  15:03 Найти цитируемый пост)
Подскажите пожалуйста, каким образом в Ruby/Watir можно нажать на какую-либо кнопку в появившемся окне?

Цитата(Wise1986 @  21.6.2008,  22:40 Найти цитируемый пост)
в сервак низя лазить

ну и каким образом ты собираешься это сделать на клиенте с помощью руби  smile 

в раздел Java Script и спрашиваешь как перехватить фукнцию alert ...



--------------------
PM   Вверх
Wise1986
Дата 22.6.2008, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.6.2008

Репутация: нет
Всего: нет



Цитата(v2v @ 21.6.2008,  22:46)
в раздел Java Script и спрашиваешь как перехватить фукнцию alert ...

Что за бред я такого не писал...

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

Только вот я не очень разобрался как с потоками в руби работать
PM MAIL   Вверх
v2v
Дата 22.6.2008, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 1
Всего: 56



Цитата(Wise1986 @  22.6.2008,  16:02 Найти цитируемый пост)

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

ну ну.


--------------------
PM   Вверх
Wise1986
Дата 23.6.2008, 04:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.6.2008

Репутация: нет
Всего: нет



Что, "нуну" ?

модуль WinClicker знаком тебе - в чем сложность функцию клика вызвать

нужно только в отдельном потоке делать, т.к. такие всплывающие окна - модальные


Кто-нить может ответить по существу????
PM MAIL   Вверх
v2v
Дата 23.6.2008, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 1
Всего: 56



я наверное не правильно понял... у тебя обычное руби приложение?

Добавлено через 1 минуту и 7 секунд
не веб...


--------------------
PM   Вверх
Wise1986
Дата 23.6.2008, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.6.2008

Репутация: нет
Всего: нет



Да, не веб
PM MAIL   Вверх
v2v
Дата 23.6.2008, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 1
Всего: 56



Цитата(Wise1986 @  23.6.2008,  10:27 Найти цитируемый пост)
Да, не веб 

тогда всё просто smile

создать отдельный поток можно например так:
Код

x = Thread.new{ 
   # тут вызываешь класс WinClicker
   p "hello"
}


Это сообщение отредактировал(а) v2v - 23.6.2008, 11:05


--------------------
PM   Вверх
Wise1986
Дата 23.6.2008, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.6.2008

Репутация: нет
Всего: нет



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

И делать ето нужно на руби а не на яве )

Это сообщение отредактировал(а) Wise1986 - 23.6.2008, 15:14
PM MAIL   Вверх
v2v
Дата 23.6.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 1
Всего: 56



Цитата(Wise1986 @  23.6.2008,  15:13 Найти цитируемый пост)

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

никто тебе не мешает самому поток убивать 
Код

 Thread.new { 
Thread.stop 
}



--------------------
PM   Вверх
Wise1986
Дата 23.6.2008, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.6.2008

Репутация: нет
Всего: нет



ты видимо не понимаешь

Если вызвать новый поток до появления окна - то не вызывается всплывающее окно
А если после - то поток начнет работу ТОЛЬКО ПОСЛЕ закрытия окна

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

PM MAIL   Вверх
Wise1986
Дата 24.6.2008, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.6.2008

Репутация: нет
Всего: нет



Получилось сделать вот так:
 Thread.new { system("rubyw myclicker.rb") }
 ie.link(:url, 'url.com').click
всё прекрасно работает

где myclicker.rb - файл, в котором описывается нажатие на кнопку

А вот как это сделать в 1м файле сразу не понимаю...
 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby: Общие вопросы"
source777
  • С чего начать? начинаем
  • Ссылки на полезные ресурсы смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0541 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.