はじめに
python+robotframeworkのseleniumでRPA(自動化)しようとコードを書いている時にエラーが出ました。
今回はその時のエラーの原因&対処方法をメモとして残すことにします。
エラー
エラーメッセージは次のようなものでした。
NameError: name 'By' is not defined
エラーの内容を訳すと
「名前のエラー:名称「By」は定義されていません
と言っています。
原因&対処
原因ですが、いくつか考えられます。
よくあるのが、
- スペルミス
- インポートのし忘れ
です。
今回は、Seleniumでクラス名などを定義している「By」のライブラリのインポートが出来ていませんでした。
そのため、
from selenium.webdriver.common.by import By
を追加することでエラーが消えました。
さいごに
今回はライブラリのインポート忘れで発生したエラーでした。
ネットで調べてソースを参考にさせてもらったものがソースが省略されていたり、ライブラリをコメントアウトしたりでインポート出来ていないということが割とあります。
他にはスペルミスもよくありがちなので、「is not defined(定義されていません)」と表示された場合まずはライブラリがきちんとインポートされているのか確認するのがいいかと思います。
この記事がお役に立ったのなら嬉しいです。
最後までお読みいただきありがとうございます。