如何在不使用机器人的情况下关闭打开的文件

How to close an opened file without using robot

我正在使用 Selenium 测试网站。我可以上传一个“.txt”文件,然后双击它打开,但我无法使用 selenium 关闭打开的文件!!!

我知道有一个使用 Alt+F4 的机器人工具解决方案,但我不允许使用机器人,我尝试了下面的 selenium 代码来关闭 window,它不起作用:

action.sendKeys(Keys.chord(Keys.ALT,Keys.F4)).build().perform();

试试这个(driverWebDriver 的一个实例):

String myWindow = driver.getWindowHandle();

//open file with double click
//do something ...

driver.switchTo().window(myWindow);

这会存储原始 window 的句柄并切换回它。另一个 window 可能仍在后台打开,但如果您调用 driver.quit();

将关闭

感谢:CODEBLACK

String parentHandle = driver.getWindowHandle(); // get the current window handle
driver.findElement(By.xpath("//*[@id='someXpath']")).click(); // click some link that opens a new window

for (String winHandle : driver.getWindowHandles()) {
    driver.switchTo().window(winHandle); // switch focus of WebDriver to the next found window handle (that's your newly opened window)
}

//code to do something on new window

driver.close(); // close newly opened window when done with it
driver.switchTo().window(parentHandle); // switch back to the original window


  [1]: