【发布时间】:2017-02-08 03:21:35
【问题描述】:
我使用 WebDriver 进行测试,然后出现一个弹出窗口,没有固定属性(自动生成)。
所以,最简单的方法(我认为)是按键盘上的“Enter”键。 但我找不到说“只需点击浏览器,而不是浏览器的元素”的方式。
WebDriver 可以吗?我怎样才能实现它?
【问题讨论】:
标签: java selenium selenium-webdriver webdriver
我使用 WebDriver 进行测试,然后出现一个弹出窗口,没有固定属性(自动生成)。
所以,最简单的方法(我认为)是按键盘上的“Enter”键。 但我找不到说“只需点击浏览器,而不是浏览器的元素”的方式。
WebDriver 可以吗?我怎样才能实现它?
【问题讨论】:
标签: java selenium selenium-webdriver webdriver
另一种方法是使用 java.awt.Robot 来模拟键盘的交互,而不是 WebElement 的处理。
[WebDriver code]
try {
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
robot.delay(200);
}
[WebDriver code]
【讨论】:
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER); //press enter key
robot.keyRelease(KeyEvent.VK_ENTER); //release enter key
您还应该在按下回车键时指定释放命令。
【讨论】:
使用 Actions 实用程序,我们可以达到同样的效果:
Actions builder = new Actions(driver);
builder.keyDown(Keys.RETURN).keyUp(Keys.RETURN).build().perform();
【讨论】:
你可以这样做
driver.findElement(By.tagName("body")).sendKeys(Keys.ENTER);
【讨论】: