我使用webdriver的Action執行某些鍵的組合後,鬆開按鍵:的webdriver - 爪哇 - 如何執行行動
new Actions(getWebDriver()).sendKeys(Keys.CONTROL, ..).perform();
我的問題是執行的操作後Keys.CONTROL
保持激活。經過一些新的點擊後,我的瀏覽器上出現了新的打開的選項卡,並且由於密鑰仍處於激活狀態而出現了奇怪的行爲。如何釋放密鑰?謝謝。
我使用webdriver的Action執行某些鍵的組合後,鬆開按鍵:的webdriver - 爪哇 - 如何執行行動
new Actions(getWebDriver()).sendKeys(Keys.CONTROL, ..).perform();
我的問題是執行的操作後Keys.CONTROL
保持激活。經過一些新的點擊後,我的瀏覽器上出現了新的打開的選項卡,並且由於密鑰仍處於激活狀態而出現了奇怪的行爲。如何釋放密鑰?謝謝。
建立一系列的動作,然後執行它們。的如何釋放控制鍵的有用示範是去除附加杆通過模擬控制+/按鍵隨後發送keyUp
消息以釋放所保持的控制鍵:
WebDriver driver = getDriver();
String handle = driver.getWindowHandle();
// Remove the "add-on" bar.
driver.switchTo().defaultContent();
Actions actions = new Actions(driver);
actions
.sendKeys(Keys.CONTROL, Keys.DIVIDE)
.keyUp(Keys.CONTROL)
.build()
.perform();
// Return back to whatever window was first selected.
driver.switchTo().window(handle);
嘗試使用Keys.chord()
。按照documentation:
模擬在「和絃」中一次按下多個按鍵。採用Keys.XXXX或字符串的序列號 ;將每個值附加到一個字符串,並添加和絃終止鍵(Keys.NULL)並返回結果 字符串。注意:當底層webdriver密鑰處理程序通過keyup事件看到Keys.NULL, 活動修改鍵(CTRL/ALT/SHIFT/etc)時,釋放。
因此,使用和絃自動附加的Keys.NULL
應釋放控件。
解決方案
new Actions(getWebDriver()).sendKeys(Keys.chord(Keys.CONTROL, ...)).perform();
對我來說只有這樣的解決方法幫助:
new Actions(selenium).sendKeys(Keys.ESCAPE).perform();