Как добавить текст во всплывающем окне в селене - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь протестировать сайт, используя селен (с java). На моем сайте есть возможность добавить новый класс. Когда мы нажимаем кнопку добавления новой опции, появляется всплывающее окно, и мы можем ввести имя нового класса. Но, используя селен, я не могу ввести алфавиты во всплывающее окно. Я могу только ввести цифры в этом поле. Поле принимает как алфавиты, так и цифры, когда мы вводим данные вручную. Как я могу добавить алфавиты в всплывающее окно в селене?

Здесь я прилагаю свой код ниже:

     WebDriverWait wait = new WebDriverWait(driver, 20);
     wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id=\"modal-add\"]")));
     driver.findElement(By.xpath("//*[@id=\"class\"]")).sendKeys("LKG");
     driver.findElement(By.xpath("/html/body/section/div/div[3]/div/div/form/div[2]/button[2]")).click

снимок экрана с полем - Class_field_screenshot

Ответы [ 2 ]

0 голосов
/ 15 января 2020

Можете ли вы попробовать класс Clipboard для копирования и вставки строкового значения в поле класса? Убедитесь, что вы нажали сначала в текстовом поле класса, а затем используете код вставки Как вы говорите, с помощью клавиатуры вы можете вводить алфавит, поэтому попробуйте также использовать класс клавиш. В обоих случаях ваша клавиатура будет использоваться, поэтому, возможно, это поможет.

0 голосов
/ 15 января 2020

Как уже упоминалось выше, вы не можете добавлять алфавиты в текстовое поле с помощью функции sendkeys. Я не слышал такого рода проблем, прежде чем, пожалуйста, подтвердите, что или это поле принимает алфавиты или нет. если это поле принимает алфавиты, попробуйте использовать другой способ, например javascript executor, чтобы отправить текст, как указано ниже

JavascriptExecutor js = (JavascriptExecutor) driver;  
js.executeScript("$('#id').val("sendtext")");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...