前提・実現したいこと
以下の作業を行うプログラムを作りたい。
- web上の「一括ダウンロード」ボタンを押下する
- ファイルを特定の場所にダウンロードする(ダウンロード先のパスを変数で指定する)
一括ダウンロードボタンのhtml情報を、Chromeの「検証」で確認すると以下のように表示されている。
<button name="button" type="submit" class="btn btn-samplesite-default js-task-attached-files-download-btn">一括ダウンロード</button>
プログラムの動きとしては、ダウンロードボタンをプログラム中に指定することで、
プログラムが、指定したボタン(要素)の情報を取得(get_attribute)して、hrefを取得、そのhrefにアクセスすることで、
ダウンロードを開始したい。
seleniumのwebdriverでChromeを操作したいと考えている。そのほかに都合の良いライブラリがあればそちらでもよい。
発生している問題・エラーメッセージ
今回のダウンロードボタンの要素を見ると、hrefは存在しなく、どうやって、ダウンロードにこぎつければいいのか分からない。。
該当のソースコード
dl_button = driver.find_element_by_xpath("/html/body/div[1]/main/div/div/div[2]/div/div[1]/div/div[2]/div[3]/div/div[4]/div/div/button") dl_url = dl_button.get_attribute('href').text
このあと適当に、URLにアクセスしてファイルをDLする。
試したこと
要素を指定して、「.click()」でDLしてみたが、事情により、その方法は却下。
事情というのは、.click()してしまうと、ダウンロードが開始して、ダウンロード場所を指定できないということ。
補足情報(FW/ツールのバージョンなど)
Windows10
Python 3.8
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。