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(ユーデミー)」によるビデオ学習です。

「Udemy」は、オンライン学習の提供サイトです。学びたい人は多くある講座の中から受講したいコースを選択することができ、動画で学べるのが特徴です。

多くあるPythonのコースの中でもオススメするPythonのコースは以下となります!!

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

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

私も購入して受講していますが、内容としては初心者の方から上級者まで対応する幅広い内容になっています。

下手な書籍を何冊か購入するより、この動画コースを最初からじっくりと受けることで総合的なスキルを習得することができるできます。おそらくこれ以上の教材はないと思いますので、絶対おすすめです。

ちなみに、Udemyでは頻繁にセール(1か月に2,3回程度)が開催されているので、セールのタイミングで購入すれば90%OFFになる講座もあるため、セールが開催されてからの購入をオススメします!

今回は以上となります。

コメント

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