我正在尝试使用 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);
这也可以使用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);
我想这将有助于解决您的问题。