【发布时间】:2013-02-10 14:30:54
【问题描述】:
这些有什么区别
Webdriver.Close()Webdriver.Quit()Webdriver.Dispose()
什么时候使用哪个?
【问题讨论】:
-
#dispose 方法似乎已从 WebDriver API 中静默删除。更新日志中没有提及,我能找到的最新提及是 v2.26 api 文档,我再也找不到它的链接了。
-
我在下面的答案中看到了混乱的来源。我认为这个问题最初是一个 C# 问题,因为上述方法(关闭、退出和处置)以大写字母(C#)而不是小写字母(java)开头。尚未从 C# WebDriver 客户端绑定中删除 Dispose。
-
Dispose 是一种 .Net 模式,因此在 selenium 的 API 文档中没有记录。在 RemoteWebDriver 中,Quit 调用 Dispose,后者发送一个 Quit 命令 (DELETE /session/{sessionId})。客户端有几个地方拦截了 Quit 命令。例如,如果进程没有正常关闭,FirefoxDriver .net 实现实际上会调用 process.Kill()。