【问题标题】:Can't close a window using driver.close()无法使用 driver.close() 关闭窗口
【发布时间】:2013-09-05 09:14:34
【问题描述】:

我无法使用 driver.close() 方法关闭窗口。当它被执行时,会出现一个警报。

我试过了

JavascriptExecutor js = (JavascriptExecutor) driver;

String script = "window.onbeforeunload = null;";

js.executeScript(script);

driver.close();

我什至无法接受警报。 driver.switchTo().alert().accept() 未执行。

我也试过了

driver.close();

System.out.println("After closing the window");//This line is not executed.

控制在driver.close() 处停止,不抛出异常,也不执行以下行。

【问题讨论】:

  • 警报是由于浏览器行为,我猜你无法控制
  • @AurA 我需要关闭窗口。如果我不能,那么我就不能执行下一个测试用例。
  • 之前的帖子确实处理了这个警报问题stackoverflow.com/questions/5164894/…
  • @AurA driver.close() 后面的代码没有被执行。请找到修改后的问题。
  • 希望您为您使用的浏览器正确初始化 WebDriver ... 跨平台解决方案是 stackoverflow.com/questions/11823150/… 但如果不是这种情况,那么您必须参考之前的另一篇帖子 stackoverflow.com/questions/16839075/…。如果您在 driver.close() 处遇到异常,您还必须告诉我们有关堆栈跟踪的信息

标签: java javascript internet-explorer webdriver selenium-webdriver


【解决方案1】:

好吧,下面的方法完成了这项工作。

public void closeWindowByJS(WebDriver driver) {
    JavascriptExecutor js = (JavascriptExecutor) driver;
    String script = "window.onbeforeunload = null;" + "window.close();";
    js.executeScript(script);
}

【讨论】:

    猜你喜欢
    • 2015-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 2021-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多