Перейти к содержимому

Фотография

Type не воспринимается как набор текста


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 Taras

Taras

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Тарас Анатольевич Мордвинов
  • Город:Донецк

Отправлено 19 ноября 2010 - 17:00

Всем доброго дня, я учусь пользоваться Селениумом около месяца и вот снова возникла неразрешимая(как мне кажеться) проблема. В некоторых местах в нашей системе кнопка на подобие save становится активной только после ввода чего либо в текстовое поле, пренадлежащее к ней. Метод Type не вводит текст, а вставляет его, да? Просто кнопка активной не становится. Иногда удавалось выкрутится через keypress, следом type. Но вот я уперся, и мыслей нет вообще. Обрисую ситуацию:
есть тестовое поле, в нем по умолчанию написано input new name. После щелчка в нем эта надпись исчезает и появляется курсор. Есть кнопка save и она не активна, покуда нет ничего в тестовом поле(type(... ,"autotest") не расценивается как что-то было введено). KeyPress не помогает, мало того я не могу спозиционировать курсор в это поле чтоб нативные клавиши пощелкать. setCursorPosition(blahblah, 0) заставляет дефолтное знчение исчезнуть, но курсор не появляется, он появлется если свернуть и развернуть окно(может можно это сделать в селене?). Устал ужано, 4 дня тыкаюсь в это и ничего уже не могу придумать :( :help:
  • 0

#2 stmark

stmark

    Опытный участник

  • Members
  • PipPipPipPip
  • 404 сообщений
  • ФИО:Докучаев Сергей
  • Город:Ярославль


Отправлено 19 ноября 2010 - 22:15

Безвыходных ситуаций не бывает :) Раз не получается решить задачку стандартными способами, нужно экспериментировать.

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. Прямо сейчас код проверить не могу, так что пробуйте.



  • 0

#3 Taras

Taras

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Тарас Анатольевич Мордвинов
  • Город:Донецк

Отправлено 21 ноября 2010 - 10:06

Спасибо за ответ! Я перепробовал все методы, кроме fireEvent. В понедельник как приду на работу испробую :) Через Tab увы в эту форму не попасть, это специфическое всплывающее окно. Самое веселое я забыл указать - в FireFox все работает без всяких дополнительных выкрутасов, в ИЕ - болт.
  • 0

#4 Taras

Taras

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Тарас Анатольевич Мордвинов
  • Город:Донецк

Отправлено 22 ноября 2010 - 11:50

И так я попробовал
selenium.fireEvent("conf_name", "change");
не работает, попробовал еще focus/blur, тоже никак, не перестаю удивляться. А в чем может быть проблема размещения курсора в текстовом поле? Вот так не работает
selenium.setCursorPosition("conf_name", "0");
Всем заранее спасибо за советы!
  • 0

#5 stmark

stmark

    Опытный участник

  • Members
  • PipPipPipPip
  • 404 сообщений
  • ФИО:Докучаев Сергей
  • Город:Ярославль


Отправлено 22 ноября 2010 - 11:56

А можно взглянуть на саму страницу? Ну или хотя бы исходный код того места с кнопкой?
  • 0

#6 Taras

Taras

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Тарас Анатольевич Мордвинов
  • Город:Донецк

Отправлено 22 ноября 2010 - 13:27

Я промучался все утро, программист тоже развел руками, мол ХЗ че оно не работает. Вобщем я его уболтал переписать код :) Теперь все в норме :)
  • 0

#7 stmark

stmark

    Опытный участник

  • Members
  • PipPipPipPip
  • 404 сообщений
  • ФИО:Докучаев Сергей
  • Город:Ярославль


Отправлено 22 ноября 2010 - 13:49

Ну вот :( Теперь не узнаем, что же там было такое.
  • 0

#8 Taras

Taras

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Тарас Анатольевич Мордвинов
  • Город:Донецк

Отправлено 23 ноября 2010 - 17:17

Ну вот :( Теперь не узнаем, что же там было такое.

Мы разрабатывем систему видеонаблюдения, я б несмог вам дать доступ к нашей системе, кодс страницы увы упустили конечно :(
  • 0

#9 Taras

Taras

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Тарас Анатольевич Мордвинов
  • Город:Донецк

Отправлено 23 ноября 2010 - 17:50

Дубль вышел :(
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных