Chrome ではそれが可能ですが、Firefox のプロファイル操作ほど簡単ではありません。
WebDriver バインディングは「カスタム」機能とコマンド ライン パラメータを追加する機能を公開しているため、Chrome が認識しているコマンド ライン スイッチのいずれかを指定できます。
http://peter.sh/experiments/chromium-command-line-switches/
これにより、Firefox の場合と同様に、Chrome にロードするプロファイルを与えることができます。
ただし、WebDriver バインディングはオプションと Firefox プロファイルを公開しません。したがって、手動で行う必要があります。
まず、プロファイルがどこにあるかを調べます。
Chrome でこの URL にアクセスします。
chrome://version/
現在ロードしているプロファイル (および使用しているコマンド スイッチ) がわかります。プロファイル パスをエクスプローラーにコピーして、そこに移動します。
デフォルトでは、Default
プロファイル ディレクトリを使用する必要があります。User Data
エクスプローラーでレベルを上げて、フォルダーに座ってください。
次のステップでは、Selenium が使用する新しいプロファイルを作成します。Chrome を開き、[設定] > [ユーザー] > [新しいユーザーを追加] に移動します。名前を付けます。
Chrome が作成されると、そのユーザーに対して新しい Chrome ウィンドウが開きます。次のステップは、このユーザーに対してのみ、Chrome でダウンロードを特定の場所に保存するように強制することです。
これは、2 つの方法で行うことができます。Chrome UI で [設定] に移動し、ダウンロード ディレクトリを変更して、その横のチェックボックスがオフになっていることを確認するか、もう少しクリエイティブに...
すべての Chrome 設定はファイルに保存され、users ディレクトリに保存されます。User Data
Chrome のユーザー フォルダー内のフォルダーに、エクスプローラー ウィンドウが既に開いているはずです。うまくいけば、新しいプロファイル (おそらく と呼ばれるProfile 1
) が作成されたことがわかります。それに入る。
ここで、 Preferences (拡張子なし)というファイルを探します。
メモ帳で編集します (JSON を使用したテキスト ドキュメントです)。
ダウンロード セクションを探します。次のようになります。
"download": {
"directory_upgrade": true,
"extensions_to_open": ""
},
ファイルを保存するパスを入力して、このキーを追加します。
"default_directory": "PATH",
Visual Studio デバッガーを使用する場合と同じ方法で、パス内のスラッシュを別のバックスラッシュでエスケープしてください。
たとえば、C:\Bob\Jim\Downloads
として入力する必要がありますC:\\Bob\\Jim\\Downloads
。
このファイルを保存します。
これで、ダウンロードが特定の場所に移動するプロファイルが作成されました。Chrome でこのプロファイルを使用するにはどうすればよいですか? 起動時に開くプロファイルを指定します。コマンド ラインは次のようになります。
--profile-directory="Profile 1"
(それが呼ばれていない場合はProfile 1
、フォルダー内で呼び出されているものに置き換えます)。User Data
Chrome に特定のプロファイルをロードするように指示することはできますが、Selenium にもこれを行うように指示するにはどうすればよいでしょうか? 簡単!「追加のコマンド ライン スイッチ」として追加します。
var chromeOptions = new ChromeOptions();
chromeOptions.AddArgument(@"--profile-directory=""Profile 1""");
Selenium は、コマンド ライン スイッチが Chrome に確実に渡されるように注意を払います。
(注: 誰かがより簡単な解決策を知っている場合は、お知らせください!)。
IE については、IE8 と IE9 でテストしましたが、問題なく動作します。IE は、デフォルトのダウンロード場所のレジストリ キーを考慮することができます。ただし、IE7以下についてはコメントできません。
regeditを使用して次の場所に移動します(これはWindows ユーザー設定ごとです)。
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer
という文字列値を追加しますDownload Directory
。その値は、ダウンロード先の正確な場所になります。ところで、パスをエスケープする必要はありません。
Windows でログインしているユーザーがこの値を設定していることを確認してください。これ以上の設定は必要ありません。