Клавиша ARROW_DOWN не работает в селене (события Key Down / Up имеют смысл только для клавиш-модификаторов.) - PullRequest
0 голосов
/ 03 мая 2019

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

События Key Down / Up имеют смысл только для клавиш-модификаторов.

Этот код я использую

WebElement domain = Driver.driver.findElement(By.id("feild_domain"));
if (domain.isDisplayed()) {
           //domain.click();
           Actions builder = new Actions(driver);
           Thread.sleep(2000);
           builder.moveToElement(domain).click().perform();
           Thread.sleep(4000);
           builder.keyDown(domain, Keys.ARROW_DOWN).perform();
           Thread.sleep(4000);
           builder.keyDown(domain, Keys.ARROW_DOWN).perform();
           //Action seriesOfActions= builder.keyDown(domain, Keys.ARROW_DOWN).contextClick().build();
           //Action seriesOfActions = builder.moveToElement(domain).click().sendKeys(Keys.ENTER).keyDown(domain, Keys.ARROW_DOWN).contextClick().build();
           //seriesOfActions.perform();
           }

Приведенный выше код не работает.Любые предложения приветствуются.Спасибо.

1 Ответ

1 голос
/ 03 мая 2019

Посмотрите на JavaDoc для принятых параметров keyDown.

В нем говорится

Параметры:
клавиша - Либо Keys.SHIFT, Keys.ALT, либо Keys.CONTROL. Если предоставленный ключ не является ни одним из них, генерируется IllegalArgumentException.
target - WebElement для выполнения действия

Итак, если вы хотите использовать другие клавиши, вы должны использовать sendKeys.

Используйте это:

builder.sendKeys(domain, Keys.ARROW_DOWN).perform();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...