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プロフェッショナル大全
今回は以上となります。
コメント