スクレイピングで同じclass名の要素を複数取得する方法

スクレイピングで同じclass名の要素を複数取得する方法

次のコードはseleniumを使ったスクレイピングでclass名「item」の要素からデータを取得するためのものです。
class名「item」は複数存在して複数のデータを取得するつもりのものです。

elem = browser.find_elements_by_class_name('item')

elemには複数のデータが入っているものとしてループ文で一つずつ取り出そうと次のようなコードを考えてしまいますが、これはうまくいきません。

for i in elem:
  elem[i] 

今回取得した数字で1桁のものは01のように0パディングの表示になっていますので1桁のものは0を取る必要があります。これは単純にint()を使うことで実現します。一旦int()で0を取り、その後再びint()で整数化しておいて、さらにstr()で文字列化します。

このような場合は以下のようにします。


element_contents = ''

for element in elem:
element_contents += str(int(element.get_attribute('innerHTML'))) + ','