LoginSignup
3
5

More than 1 year has passed since last update.

PythonとSeleniumとWebDriverでDownload完了簡易判定と待機

Last updated at Posted at 2022-12-17
import datetime
import itertools
import os
import time
    _ = all([x for x in os.listdir(f"{os.getenv('USERPROFILE')}\\Downloads") if x.endswith(("crdownload", "tmp"))] and not time.sleep(1) and not print(f"{f'{datetime.datetime.now()}'[:-4]} download in progress...") and i for i in itertools.repeat(1))

importを必要に応じて記述ください。
C:\Users\USERNAME\Downloadsがダウンロードフォルダの場合のコードです。
C:\Users\USERNAME\Downloadsfoo.crdownloadbar.tmpがあるとループ処理状態になります。

tmp ⇒ crdownload ⇒ csv
tmp ⇒ crdownload ⇒ pdf
tmp ⇒ crdownload ⇒ zip

などのように、
Chromeでファイルをダウンロードすると拡張子が変化するので、
crdownloadとtmpの拡張子の有無による簡易的な判定です。

マルチプルステートメントにならないよう、
whileを使用せずに作成してみたところ、
黒魔術的なコードになってしまいました。

黒魔術的なコードなので代償が必要で、
crdownloadとtmpの拡張子のファイルが、
存在する間、毎秒、メモリを消費します。

黒魔術的なコードではない、
whileを使用したコードはこちら参照。

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5