LoginSignup
1
5

More than 3 years have passed since last update.

Python+seleniumでひたすらダウンロード(繰り返し処理)

Posted at

主旨

Pythonでのスクレイピングで、繰り返し処理をする場合のコード。
業務上、請求書サイトからひたすら請求書をダウンロードする必要があったので書きました。
サイトの性質上、ボタンをクリックするとPDFを生成する仕様なので、繰り返しクリックするコードになってます。

コード

一覧のページにアクセスした後に、以下を繰り返しています

1.個別ページへいく
2.個別ページのダウンロードボタンを押す
3.一覧ページに戻る

from selenium import webdriver

driver = webdriver.Chrome()
#ここまでで、一覧のページがすでに表示されている前提
for i in range(len(driver.find_elements_by_id("idを指定"))):
    es=driver.find_elements_by_id("idを指定")#指定のidで、一覧のページにある要素を全て取得する
    es[i].click()#上からi番目をクリック→個別ページへいく
    driver.find_element_by_id("idを指定").click()#個別ページのダウンロードボタンを押す
    driver.back()#一覧ページに戻る

うまくいかなかった点

上記のコードで、配列を取得してその各要素でfor回せばいいやん?って当初思っていたのですが
実際に動かすとうまくいきませんでした。多分一覧ページに戻った時に、各要素がリセットされてると思われます。

余談

ひたすらダウンロードする処理については、当初会社で導入していたRPA使ってやろうと思ったんですが、色々できなくて挫折しました。
両方いじった結果感じたことですが、RPA使うよりpython覚えた方が30倍くらい早いし汎用性があります。
RPAって、何もわかってない会社の偉い人から金をふんだくるために、コンサルが産み出した魔法の言葉だと思いました。

1
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
1
5