[英]Pressing Escape does not function in Selenium WebDriver using Java
我的目標是通過按“退出”鍵從頁面中退出/刪除放大的書籍屏幕。 以下是我的代碼:
driver.get("http://www.packtpub.com/selenium-webdriver-practical-guide/book");
WebElement cookieClose = driver.findElement(By.id("cookie-close"));
if(cookieClose.isDisplayed()){
cookieClose.click();
}
driver.findElement(By.cssSelector("img.bookimage")).click();
Actions action = new Actions(driver);
action.sendKeys(Keys.ESCAPE).build().perform();
但是用WebDriver按“退出”鍵后,書本圖像不會消失。 (通過手動按Escape鍵可將其消失)
以下兩種方法可以起作用:
獲取放大的書本圖像的元素定位器->將Escape發送到元素。
WebElement bookImg = driver.findElement(By.id(“ hoverNav”)); bookImg.sendKeys(Keys.ESCAPE);
您可以按如下所示按Java Robot類按Escape鍵:
導入java.awt.Robot; 導入java.awt.event.KeyEvent;
機械手r =新機械手(); r.keyPress(KeyEvent.VK_ESCAPE); r.keyRelease(KeyEvent.VK_ESCAPE);
從硒javadoc:
public Actions sendKeys(java.lang.CharSequence... keysToSend) Sends keys to the active element.
也許您應該使用keyDown(Keys theKey)
和keyUp(Keys theKey)
而是使用以下代碼在頁面主體上點擊Escape:
WebElement body = driver.findElement(By.tagName("body"));
body.sendKeys(Keys.ESCAPE);
或者,您可以使用以下代碼執行相同的操作:
driver.findElement(By.cssSelector("body")).sendKeys(Keys.ESCAPE);
現在,您將看到圖像消失。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.