NameError: name ‘By’ is not defined

Python
本ページはプロモーションが含まれています

はじめに

python+robotframeworkのseleniumでRPA(自動化)しようとコードを書いている時にエラーが出ました。
今回はその時のエラーの原因&対処方法をメモとして残すことにします。

エラー

エラーメッセージは次のようなものでした。

NameError: name 'By' is not defined
エラーの内容を訳すと
「名前のエラー:名称「By」は定義されていません
と言っています。

原因&対処

原因ですが、いくつか考えられます。
よくあるのが、

  • スペルミス
  • インポートのし忘れ

です。
今回は、Seleniumでクラス名などを定義している「By」のライブラリのインポートが出来ていませんでした。

そのため、
from selenium.webdriver.common.by import By
を追加することでエラーが消えました。

さいごに

今回はライブラリのインポート忘れで発生したエラーでした。
ネットで調べてソースを参考にさせてもらったものがソースが省略されていたり、ライブラリをコメントアウトしたりでインポート出来ていないということが割とあります。

他にはスペルミスもよくありがちなので、「is not defined(定義されていません)」と表示された場合まずはライブラリがきちんとインポートされているのか確認するのがいいかと思います。

この記事がお役に立ったのなら嬉しいです。
最後までお読みいただきありがとうございます。

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

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