簡體   English   中英

使用Java在Selenium WebDriver中按Escape鍵不起作用

[英]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鍵可將其消失)

以下兩種方法可以起作用:

  1. 獲取放大的書本圖像的元素定位器->將Escape發送到元素。

    WebElement bookImg = driver.findElement(By.id(“ hoverNav”)); bookImg.sendKeys(Keys.ESCAPE);

  2. 您可以按如下所示按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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM