Python

Selenimumのエラー:「AttributeError: ‘list’ object has no attribute ‘text’」

Python

Seleniumを使っていてエラーになった際の自分用のメモとなります。

エラー内容

get_elem = self.driver.find_elements_by_xpath('//main/div/ul/li[2]/a').text

とかでHTMLの要素を取得しようとした際に以下の様なエラーが表示されました。

AttributeError: 'list' object has no attribute 'text'

原因と対応

エラーの原因は1つの要素のtextを取得しようとしているけど要素が「リスト」だよと言ってます。

対応としては、リストで複数のパラメータがあるので、forとかでループしてtextとかgetAttributeをして取得する、または、リストの要素である[index]を直指定すればよいです。

例としては以下の様な感じです。

get_elem = self.driver.find_elements_by_xpath('//main/div/ul/li[2]/a')[0].text

Pythonのオススメ勉強方法

私がオススメするPython初心者向けの最初に購入すべき書籍は「シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全です。

シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全

この書籍は実際にシリコンバレーの一流エンジニアとして活躍している酒井潤さんが書いた本です。

内容も初心者から上級者までまとめられており、各Lessonも長すぎずに分かりやすくまとめられているので、初心者の方にもおすすめです。

シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全

今回は以上となります。

コメント