前提・実現したいこと
seleniumを用いたpythonによるwebスクレイピングを勉強中です。対象ページ内にあるテーブルを逐次スクロールしながらデータを取得しようとしています。(ページ全体ではなく、特定の要素内をスクロール)
発生している問題・エラーメッセージ
テーブルの最初の画面のデータは取得できたのですが、全てのデータを取得するには
「テーブルをスクロール → 画面内のデータを取得」
というステップを繰り返す必要があります。
単にwebページ全体をスクロールする場合にはdriver.execute_script()でjavascriptを実行する等の解説をよく見かけましたが、今回のように特定の要素内でスクロールするにはどのような方法がありますでしょうか?
該当のソースコード
以下が対象となるテーブル部分のHTMLのソースコードです。
webページのテーブルを下にスクロールすることで、aria-rowindex="行数"の部分が更新されていく仕様のようです。
試したこと
スクロールしてデータを逐次取得するのではなく、データを含む要素を全取得する方法を考えましたが、ページをスクロールするまではHTMLにも(テーブルの下のほうの)要素が現れないので断念しました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/10 18:36