我在硒中使用 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();
}
上面的代码不起作用。欢迎任何建议。谢谢。
答案 0 :(得分:1)
在JavaDoc中查找keyDown
的可接受参数。
它说明
参数:
key -Keys.SHIFT
,Keys.ALT
或Keys.CONTROL
。如果提供的键都不是,则抛出IllegalArgumentException。
target -执行操作的WebElement
因此,当您要使用其他键时,必须使用sendKeys
。
使用此:
builder.sendKeys(domain, Keys.ARROW_DOWN).perform();