如何使用热键关闭selenium中的浏览器?

Nar*_*raR 2 java selenium selenium-webdriver

Selenium Webdriver v-3.0.1

我想用热键关闭浏览器窗口,我已经尝试了一个接一个的方法,但根本没有工作 -

driver.findElement(By.tagName("body")).sendKeys(Keys.chord(Keys.CONTROL+"w"));

driver.findElement(By.tagName("body")).sendKeys(Keys.chord(Keys.CONTROL+"F4"));

driver.findElement(By.tagName("body")).sendKeys(Keys.chord(Keys.CONTROL,Keys.F4));

driver.findElement(By.tagName("body")).sendKeys(Keys.CONTROL, Keys.F4);

driver.findElement(By.tagName("body")).sendKeys(Keys.CONTROL+"F4");
Run Code Online (Sandbox Code Playgroud)

如何关闭浏览器driver.close()以及其他driver.quit方法

San*_*ani 6

确保浏览器窗口处于活动状态.

您可以执行操作

Actions actions = new Actions(driver);
actions.keyDown(Keys.ALT);
actions.sendKeys(Keys.F4);
actions.keyUp(Keys.ALT);
actions.perform();
Run Code Online (Sandbox Code Playgroud)

同样你可以实现使用Robot.要运行此代码,您需要添加,

import java.awt.Robot;

Robot robot = new Robot();
// press key Alt+F4
robot.keyPress(KeyEvent.VK_ALT);
robot.delay(100);
robot.keyPress(KeyEvent.VK_F4);
// relase key Alt+F4
robot.delay(100);
robot.keyRelease(KeyEvent.VK_F4);
robot.delay(100);
robot.keyRelease(KeyEvent.VK_ALT);
Run Code Online (Sandbox Code Playgroud)

如果您不在driver.quit()程序结束时使用,WebDriver会话将无法正常关闭,文件将无法从内存中清除.这可能会导致内存泄漏错误.希望很清楚.