ARROW_DOWN键在硒中不起作用(Key Down / Up事件仅对修饰键有意义。)

时间:2019-05-03 17:24:45

标签: java selenium

我在硒中使用 ARROW_DOWN 键,但是它不起作用,这是我的代码。我还习惯了 ENTER ,它工作正常,但是使用 ARROW_DOWN 时,出现以下错误。

向下/向上键事件仅对修饰键有意义。

这是我正在使用的代码

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 个答案:

答案 0 :(得分:1)

JavaDoc中查找keyDown的可接受参数。

它说明

  

参数:
   key -Keys.SHIFTKeys.ALTKeys.CONTROL。如果提供的键都不是,则抛出IllegalArgumentException。
   target -执行操作的WebElement

因此,当您要使用其他键时,必须使用sendKeys

使用此:

builder.sendKeys(domain, Keys.ARROW_DOWN).perform();