0

关闭新创建的 firefox 窗口 (FirefoxDriver) 后,名为“anonymousXXXXXXX.webdriver-profile”的文件夹仍保留在临时目录 (AppData\Local\Temp) 中。使用 Dispose 方法或 using 语句时,临时目录中新创建的 firefox 配置文件的文件夹将被删除,但临时 firefox 实例也会立即关闭。

IWebDriver browser = new FirefoxDriver();

browser.Url = "https://www.google.com/";
browser.Navigate();
browser.Dispose();

退出firefox实例后如何调用dispose方法?

4

1 回答 1

3

Firefox 驱动程序在 temp 目录中创建一个临时配置文件。句号。没有办法抑制这种行为。即使您提供要使用的配置文件,驱动程序也会将提供的配置文件复制到临时目录中,并将其用作模板。这种行为的原因是为了防止多个实例FirefoxDriver驱动不同的 Firefox 实例时发生冲突。

听起来您想使用 WebDriver 创建一个 Firefox 实例,然后您允许用户使用它,将 Firefox 实例的完全控制权交给用户。在这种情况下,您已经将监控 Firefox 进程生命周期的能力交给了用户,而 WebDriver 不能再这样做了。您需要维护您的FirefoxDriver类实例,并为用户提供另一种关闭 Firefox 的方法,强制他们通过您的代码执行此操作,您可以在其中调用driver.Quit(); 或者您需要找出一种方法来为您清理临时目录。前者是不切实际的;后者几乎不可能正确。

于 2013-11-04T14:49:56.343 回答