【发布时间】:2012-07-16 05:55:47
【问题描述】:
我正在尝试使用 Actions.sendKeys 发送快捷方式,但它不起作用。
(New Actions(driver)).SendKeys(Keys.ALT, Keys.SHIFT, "z");
【问题讨论】:
-
Selenium 的宿主语言是什么?爪哇?
我正在尝试使用 Actions.sendKeys 发送快捷方式,但它不起作用。
(New Actions(driver)).SendKeys(Keys.ALT, Keys.SHIFT, "z");
【问题讨论】:
你可以检查这个问题来参考这个 - Pressing Ctrl+A in Selenium WebDriver
检查使用和弦法的答案。在你的情况下,你可以这样做 -
String selectAll = Keys.chord(Keys.ALT, Keys.SHIFT,"z");
driver.findElement(By.tagName("html")).sendKeys(selectAll);
【讨论】:
Z 不起作用,尽管 z 有效——一个案例见鬼!
这也可以使用 Actions keyUp 和 keyDown 函数来完成。
WebDriver driver = new FirefoxDriver();
Actions keyAction = new Actions(driver);
keyAction.keyDown(Keys.ALT).keyDown(Keys.SHIFT).sendKeys("z").keyUp(Keys.ALT).keyUp(Keys.SHIFT).perform();
【讨论】:
试试看:
SendKeys.SendWait("%+z")
【讨论】:
【讨论】:
除了其他/接受的答案中建议的Keys.chord(Keys.ALT, Keys.SHIFT,"z"); 方法外,我建议您尝试使用机器人框架来使用键盘快捷键。
你可以这样做;
Robot robot = new Robot();
Thread.sleep(1000);
robot.delay(3000);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_Y);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_Y);
我想这将有助于解决您的问题。
【讨论】: