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

Фотография

Использование класса JAVA robot

JAVA robot

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

#1 Zoi

Zoi

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

  • Members
  • Pip
  • 4 сообщений

Отправлено 14 марта 2019 - 18:54

 Добрый вечер!

Автоматизируя заполнение визуальной формы, столкнулась с такой проблемой, что при переходе на некоторые поля они автоматически заполняются форматом шаблона.

Вот так это выглядит: Прикрепленный файл  поле.png   583байт   1 Количество загрузок:

Курсор устанавливается после шаблона, и если передать полю необходимое значение,то ничего не выйдет, оно остается пустое .

Нагуглила что есть такой класс Robot, который имитирует нажатие кнопок клавиатуры. Попробывала забиндить кнопку Hоme, чтобы вернуть курсор в начало поля, но он осталсь на месте. Что я не так делаю? И какими еще путями можно решить эту проблему?

 

Фрагмент кода с выбором поля и имитациенй нажатия клавиши Home:

click(By.xpath("//div[3]/div/div/input"));

try {
Robot rb = new Robot();
rb.setAutoWaitForIdle(true);
rb.keyPress(KeyEvent.VK_HOME);
rb.keyRelease(KeyEvent.VK_HOME);
} catch (AWTException ex) {
System.err.println("Robot error");
}
wd.findElement(By.xpath("//div[3]/div/div/input")).clear();
wd.findElement(By.xpath("//div[3]/div/div/input")).sendKeys("1111111111");

 

 Зарание спасибо!


  • 0

#2 aleksey_p

aleksey_p

    Активный участник

  • Members
  • PipPip
  • 107 сообщений
  • ФИО:Алексей

Отправлено 15 марта 2019 - 07:59

А если не зачищать поле, то курсор в начале строки? И/или делать клик после удаления данных поля.

wd.findElement(By.xpath("//div[3]/div/div/input")).click();

 

Альтернатива, но не лучшее решение использовать js

jse.executeScript("document.getElementsByName('buttonname')[0].value='lalala'"); 


  • 0

#3 Zoi

Zoi

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

  • Members
  • Pip
  • 4 сообщений

Отправлено 15 марта 2019 - 18:24

Наличие или отсутсвие строчки: wd.findElement(By.xpath("//div[3]/div/div/input")).clear() никак не сказывается на положение курсора.

По поводу js, подскажите как реализовать в нем поиск элемента по xpath и click по нему? 

А если не зачищать поле, то курсор в начале строки? И/или делать клик после удаления данных поля.

wd.findElement(By.xpath("//div[3]/div/div/input")).click();

 

Альтернатива, но не лучшее решение использовать js

jse.executeScript("document.getElementsByName('buttonname')[0].value='lalala'"); 


  • 0

#4 aleksey_p

aleksey_p

    Активный участник

  • Members
  • PipPip
  • 107 сообщений
  • ФИО:Алексей

Отправлено 18 марта 2019 - 04:41

 

Наличие или отсутсвие строчки: wd.findElement(By.xpath("//div[3]/div/div/input")).clear() никак не сказывается на положение курсора.

По поводу js, подскажите как реализовать в нем поиск элемента по xpath и click по нему?  

 

 

Здесь больше примеров и здесь

JavascriptExecutor jse = (JavascriptExecutor) driver;

WebElement dateFrom = driver.findElement(By.xpath(("//div[3]/div/div/input");
dateFrom.click();
dateFrom.clear();
jse.executeScript("arguments[0].value='" + "blabla" + "';", dateFrom); //передаем текст blabla


  • 0



Темы с аналогичным тегами JAVA, robot

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

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