Type не воспринимается как набор текста
Автор Taras, 19 ноя 2010 17:00
Сообщений в теме: 8
#1
Отправлено 19 ноября 2010 - 17:00
Всем доброго дня, я учусь пользоваться Селениумом около месяца и вот снова возникла неразрешимая(как мне кажеться) проблема. В некоторых местах в нашей системе кнопка на подобие save становится активной только после ввода чего либо в текстовое поле, пренадлежащее к ней. Метод Type не вводит текст, а вставляет его, да? Просто кнопка активной не становится. Иногда удавалось выкрутится через keypress, следом type. Но вот я уперся, и мыслей нет вообще. Обрисую ситуацию:
есть тестовое поле, в нем по умолчанию написано input new name. После щелчка в нем эта надпись исчезает и появляется курсор. Есть кнопка save и она не активна, покуда нет ничего в тестовом поле(type(... ,"autotest") не расценивается как что-то было введено). KeyPress не помогает, мало того я не могу спозиционировать курсор в это поле чтоб нативные клавиши пощелкать. setCursorPosition(blahblah, 0) заставляет дефолтное знчение исчезнуть, но курсор не появляется, он появлется если свернуть и развернуть окно(может можно это сделать в селене?). Устал ужано, 4 дня тыкаюсь в это и ничего уже не могу придумать :(
есть тестовое поле, в нем по умолчанию написано input new name. После щелчка в нем эта надпись исчезает и появляется курсор. Есть кнопка save и она не активна, покуда нет ничего в тестовом поле(type(... ,"autotest") не расценивается как что-то было введено). KeyPress не помогает, мало того я не могу спозиционировать курсор в это поле чтоб нативные клавиши пощелкать. setCursorPosition(blahblah, 0) заставляет дефолтное знчение исчезнуть, но курсор не появляется, он появлется если свернуть и развернуть окно(может можно это сделать в селене?). Устал ужано, 4 дня тыкаюсь в это и ничего уже не могу придумать :(
#2
Отправлено 19 ноября 2010 - 22:15
Безвыходных ситуаций не бывает :) Раз не получается решить задачку стандартными способами, нужно экспериментировать.
1. Для получения фокуса на поле можно попробовать один из следующих способов:
2. Для ввода текста в поле можно попробовать тот же Type, KeyPress или KeyPressNative или TypeKeys
3. Если после ввода кнопка по-прежнему не активна, то можно попробовать следующее:
4. Возможно поле находится во фрейме и нужно использовать метод SelectFrame
P.S. Прямо сейчас код проверить не могу, так что пробуйте.
1. Для получения фокуса на поле можно попробовать один из следующих способов:
//первый вариант _selenium.MouseDown ("field_locator"); _selenium.MouseUp ("field_locator"); //второй вариант _selenium.MouseDownAt ("field_locator","1,1"); _selenium.MouseUpAt ("field_locator","1,1"); //третий вариант _selenium.keyPressNative(java.awt.event.KeyEvent.VK_TAB + ""); //повторяем сколько нужно, пока фокус не окажется на нужном поле
2. Для ввода текста в поле можно попробовать тот же Type, KeyPress или KeyPressNative или TypeKeys
3. Если после ввода кнопка по-прежнему не активна, то можно попробовать следующее:
//первый вариант _selenium.fireEvent("field_locator", "onChange"); //второй вариант _selenium.keyDown("field_locator", "\\13");
4. Возможно поле находится во фрейме и нужно использовать метод SelectFrame
P.S. Прямо сейчас код проверить не могу, так что пробуйте.
#3
Отправлено 21 ноября 2010 - 10:06
Спасибо за ответ! Я перепробовал все методы, кроме fireEvent. В понедельник как приду на работу испробую :) Через Tab увы в эту форму не попасть, это специфическое всплывающее окно. Самое веселое я забыл указать - в FireFox все работает без всяких дополнительных выкрутасов, в ИЕ - болт.
#4
Отправлено 22 ноября 2010 - 11:50
И так я попробовал
selenium.fireEvent("conf_name", "change");не работает, попробовал еще focus/blur, тоже никак, не перестаю удивляться. А в чем может быть проблема размещения курсора в текстовом поле? Вот так не работает
selenium.setCursorPosition("conf_name", "0");Всем заранее спасибо за советы!
#5
Отправлено 22 ноября 2010 - 11:56
А можно взглянуть на саму страницу? Ну или хотя бы исходный код того места с кнопкой?
#6
Отправлено 22 ноября 2010 - 13:27
Я промучался все утро, программист тоже развел руками, мол ХЗ че оно не работает. Вобщем я его уболтал переписать код :) Теперь все в норме :)
#7
Отправлено 22 ноября 2010 - 13:49
Ну вот :( Теперь не узнаем, что же там было такое.
#8
Отправлено 23 ноября 2010 - 17:17
Мы разрабатывем систему видеонаблюдения, я б несмог вам дать доступ к нашей системе, кодс страницы увы упустили конечно :(Ну вот :( Теперь не узнаем, что же там было такое.
#9
Отправлено 23 ноября 2010 - 17:50
Дубль вышел :(
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных