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 ドライバーは、一時ディレクトリーに一時プロファイルを作成します。完全停止。この動作を抑制する方法はありません。使用するプロファイルを提供した場合でも、ドライバーは提供されたプロファイルを一時ディレクトリにコピーし、それをテンプレートとして使用します。この動作の理由は、 の複数のインスタンスFirefoxDriverが Firefox の異なるインスタンスを駆動している場合の競合を防ぐためです。

WebDriver を使用して Firefox のインスタンスを作成し、それをユーザーが使用できるようにして、Firefox インスタンスの完全な制御をユーザーに任せたいと考えているようです。その場合、Firefox プロセスの存続期間を監視する機能をユーザーに明け渡したので、WebDriver はそれを行うことができなくなります。クラスのインスタンスを維持し、FirefoxDriverFirefox を閉じる別の方法をユーザーに提供する必要がありますdriver.Quit()。または、一時ディレクトリをクリーンアップする方法を見つける必要があります。前者は実用的ではありません。後者を正しく行うことはほとんど不可能です。

于 2013-11-04T14:49:56.343 に答える