退出后如何配置Selenium FirefoxDriver

时间:2013-10-31 23:11:10

标签: c# .net selenium selenium-webdriver

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

IWebDriver browser = new FirefoxDriver();

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

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

1 个答案:

答案 0 :(得分:2)

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

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