我使用WebDriver進行測試,並且彈出對話框,沒有固定的屬性(自動生成)。如何按「Enter」而不瞄準WebElement
所以,最簡單的方法(我認爲)是按下鍵盤上的Enter鍵。 但我無法找到說'只需點擊瀏覽器,而不是瀏覽器的元素'的方式。
WebDriver有可能嗎?我怎樣才能實現它?
我使用WebDriver進行測試,並且彈出對話框,沒有固定的屬性(自動生成)。如何按「Enter」而不瞄準WebElement
所以,最簡單的方法(我認爲)是按下鍵盤上的Enter鍵。 但我無法找到說'只需點擊瀏覽器,而不是瀏覽器的元素'的方式。
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]
使用操作工具就可以達到相同的:
Actions builder = new Actions(driver);
builder.keyDown(Keys.RETURN).keyUp(Keys.RETURN).build().perform();
你可以做這樣的事情
driver.findElement(By.tagName("body")).sendKeys(Keys.ENTER);
非常感謝你!它真的幫助我!這個命令後面的應用程序崩潰的缺點。所以我通過'try {} catch(){}'進行構造以防止崩潰。 – pikameuh
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER); //press enter key
robot.keyRelease(KeyEvent.VK_ENTER); //release enter key
你也應該指定發佈命令,而輸入鍵被按下。
該邏輯看起來不錯,但我不能執行它沒有崩潰。並彈出不會消失.. 謝謝你! – pikameuh