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の学習については、これまでもいくつかおすすめの書籍などを挙げていたこともありますが、今はまずは「Udemy」が何よりもオススメです。

Pythonの以下のコースは合計で28.5時間のビデオ講座があって、それらを受講するだけで、Pythonの基礎から応用まで学ぶことができます。

そして何より安いです!!
Udemyでは頻繁にセールが開催されているので、セールのタイミングで購入すれば2,000円以内で済みます。(※セールごとに割引率が少し違うみたいです)
書籍より安いビデオ講座があるとは・・・

現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

私も受講してみましたが、かなり幅広く網羅されており、おそらくこれ以上の教材はないと思いますので、絶対にUdemyはおすすめです。

今回は以上となります。

コメント

タイトルとURLをコピーしました