pythonのos,timeモジュールを利用して、GoogleChromeのダウンロード待機をプログラミングしていきたいと思います。
このプログラムで出来る事
GoogleChromeでダウンロードボタンを押した際に、ダウンロード終了まで任意の秒数だけ処理を待機します。
例えば、RPAなどによる自動操作処理の際に、ファイルのダウンロード結果を待ってから処理を続けることが可能です。
私の場合、複数のサイトの情報をダウンロードしてそれぞれを比較するのに利用しています。
pythonのソースコード
早速ですが、作成したソースコードは以下です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# GoogleChromeでダウンロードボタンを押下した際に、ダウンロード終了まで待つ処理 import time import os def download_wait(path_to_downloads): seconds = 0 dl_wait = True while dl_wait and seconds < 60: time.sleep(1) dl_wait = False for fname in os.listdir(path_to_downloads): if fname.endswith('.crdownload'): dl_wait = True seconds += 1 return seconds |
簡単な解説
[path_to_downloads]にファイルがダウンロードされるフォルダのパスを指定して利用します。
GoogleChromeでタウンロードすると、ダウンロードが終わるまで、ダウンロード用のフォルダに「[ダウンロードするファイル名].crdownload」と言うファイルが作成されます。
プログラムはフォルダ内に「.crdownload」と言う拡張子のファイルが存在する場合に、1秒待機するループ処理を実行しているだけのものです。
上記プログラムでは「while dl_wait and seconds < 60:」の箇所で60秒まで待つ設定をしています。
事前準備
ファイルがダウンロードされるフォルダ内に「.crdownload」と言う拡張子のファイルが存在しないことを確認してください。ファイルが存在すると、常に最大秒数待機することになってしまいます。
GoogleChromeのダウンロードフォルダはデフォルトで「C:\Users\iceagegeneration\downloads」と言ったフォルダになっているはずです。
コメント