Chrome ブラウザーでセレン テスト ケースを実行しようとしています。この前に、Chrome ブラウザのファイルのデフォルトのダウンロード場所を f:/xyz に設定しました。
リンクをクリックしてファイルをダウンロードするセレンスクリプトが実行されると、以前に設定したf:/xyzではなく、クロムのデフォルトの場所(c:/documents and settings/downloads)にダウンロードされます
これを修正するには?
Chrome ブラウザーでセレン テスト ケースを実行しようとしています。この前に、Chrome ブラウザのファイルのデフォルトのダウンロード場所を f:/xyz に設定しました。
リンクをクリックしてファイルをダウンロードするセレンスクリプトが実行されると、以前に設定したf:/xyzではなく、クロムのデフォルトの場所(c:/documents and settings/downloads)にダウンロードされます
これを修正するには?
その時点ではできません。http://code.google.com/p/selenium/wiki/ChromeDriverの公式 ChromeDriver Wiki から:
既知の問題 ChromeDriver にはいくつかの既知の問題があり、以下にリストされています。
おそらく、ここでの問題は、ダウンロード場所が特定のユーザー プロファイルに関連付けられていることです。Chrome ドライバーは、デフォルトで Firefox ドライバーと同じパターンに従っており、ダウンロードのたびに完全にクリーンなユーザー プロファイルのコピーを使用します。が実行されるため、ユーザーに設定したダウンロード場所が Selenium によって取得されることはありません。Firefox での解決策は、カスタム Firefox プロファイルを作成し、Selenium にそれを実行するように指示することです。Chrome ドライバーにも同様の機能があるに違いありません。
ドキュメントによると:
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.switches", Arrays.asList("--user-data-dir=/path/to/profile/directory"));
WebDriver driver = new ChromeDriver(capabilities);
はい、それは Java ですが、Python に変換するのはかなり簡単なはずです。また、ドキュメントには、カスタム プロファイルを設定できることに関する既知のバグがあると書かれていることに注意してください。
編集:
私はあなたのために働くはずのややハッキーな解決策を見つけたと思います。
これらの手順では、Selenium が実際に SYSTEM ユーザーの下で Chrome を少なくとも 1 回実行していることを前提としていることに注意してください。そうでない場合は、たとえばターミナルから、自分で SYSTEM ユーザーの下で Chrome を実行して、必要なディレクトリを手動で作成できます。