2017-06-03 10 views
1

私はPythonでWebインタラクションを介してWebインタラクションを自動化するプログラムを書いています。スクリプトで「ダウンロード」ボタンをクリックすると、画面上にウィンドウポップアップが表示され、デフォルトオプションの「開く」が選択された状態で、私は最後のステップで立ち往生しています。私のプログラムでは、まず "save file"オプションをクリックし、 "OK"をクリックします。私は私の観察の一つは、ウィンドウのポップアップがオプションでこのPythonでSelenium Webdriverを通してファイルをダウンロードする

enter image description here

のようなものであるとき「のようなファイルに対してこれを自動的に行うことで、Firefoxのプロファイル

profile = webdriver.FirefoxProfile() 
profile.set_preference('browser.download.folderList', 2) 
profile.set_preference('browser.download.manager.showWhenStarting', False) 
profile.set_preference('browser.download.dir', os.getcwd()) 
profile.set_preference('browser.helperApps.neverAsk.saveToDisk',"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") 

を設定するために次のコードを使用していましたこれは今から "クリック可能です(チェックボックスを使用)。上記のコードは完璧に機能しますが、同じオプションがクリックできない場合(下の図を参照)、上記のコード設定が失敗します。 誰でもこの状況で私を助けることができますか?ここで

enter image description here

答えて

1

あなたの質問への答えです:

あなたはSaveOkのクリックような方法でプロファイルを設定するset_preferenceメソッドを使用して、新しいFirefoxProfileと協力し、それはdoesnの間ダウンロードプロセスで中断されます。設定を次のように設定することができます。

profile = webdriver.FirefoxProfile() 
profile.set_preference("browser.download.dir",os.getcwd()); 
profile.set_preference("browser.download.folderList",2); 
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/csv,application/excel,application/vnd.msexcel,application/vnd.ms-excel,text/anytext,text/comma-separated-values,text/csv,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/octet-stream"); 
profile.set_preference("browser.download.manager.showWhenStarting",False); 
profile.set_preference("browser.helperApps.neverAsk.openFile","application/csv,application/excel,application/vnd.msexcel,application/vnd.ms-excel,text/anytext,text/comma-separated-values,text/csv,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/octet-stream"); 
profile.set_preference("browser.helperApps.alwaysAsk.force", False); 
profile.set_preference("browser.download.manager.useWindow", False); 
profile.set_preference("browser.download.manager.focusWhenStarting", False); 
profile.set_preference("browser.download.manager.alertOnEXEOpen", False); 
profile.set_preference("browser.download.manager.showAlertOnComplete", False); 
profile.set_preference("browser.download.manager.closeWhenDone", True); 
profile.set_preference("pdfjs.disabled", True); 

これがあなたの質問に答えるかどうか教えてください。

+0

お世話になりましたが、残念ながら(2番目の画像で)同じポップアップが発生しています。私はそれにいくつかの変更を行う必要がありますか、他の解決策がありますか? – user8023364

+0

私のコードを更新してください。 – DebanjanB

+0

確かにあなたのティムを取る。 – user8023364

関連する問題