質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

934閲覧

seleniumモジュールのエラー

KBYS_Y

総合スコア1

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2021/09/28 03:17

MacBookでPython3を利用しています。
Seleniumモジュールを使おうとして、

from selenium import webdriver
browser = webdriver.Firefox()

とインタラクティブシェルに入力したところ、

Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/selenium/webdriver/common/service.py", line 72, in start
self.process = subprocess.Popen(cmd, env=self.env,
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py", line 951, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py", line 1821, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'geckodriver'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
browser=webdriver.Firefox()
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/selenium/webdriver/firefox/webdriver.py", line 164, in init
self.service.start()
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/selenium/webdriver/common/service.py", line 81, in start
raise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

というエラーになってしまいました。

geckodriverはすでにインストール、解凍して、/usr/local/binにコピーしてあります。

このエラーを解消するためにはどうすればよいのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2021/09/28 03:30

ターミナルで which -a geckodriver を実行したら、何て表示されますか?
KBYS_Y

2021/09/28 03:32

/usr/local/bin/geckodriver です。
jbpb0

2021/09/28 03:34

https://teratail.com/questions/361607 の「質問への追記・修正の依頼」に「その方法でできました!」って書いてますけど、それで解決したのではないのですか?
KBYS_Y

2021/09/28 03:36

そっちでは、 /usr/local/binにgeckodriverをコピーする方法を聞いていました。(結局、教えてもらったのとは違う方法で、自己解決してしまったのですが...) それで、/usr/local/binにコピーできたので、エラーが消えるのかと思ったら、消えなくて、また質問しているという感じです。
jbpb0

2021/09/28 04:09

Pythonで import os print(os.environ['PATH']) を実行した結果表示に、「/usr/local/bin」は含まれてますか?
KBYS_Y

2021/09/28 04:11

含まれていませんでした。 /usr/bin:/bin:/usr/sbin:/sbin こうなっていました。
jbpb0

2021/09/28 04:30 編集

> /usr/bin:/bin:/usr/sbin:/sbin こうなっていました。 現状では、そこに含まれてるところにあるものしか探せないです でもそれだと、 https://teratail.com/questions/361607 の、「$HOME/bin」に「geckodriver」を置く方法でもうまく行かないはずなのですが、それはうまく行ったのですよね? > とインタラクティブシェルに入力 Pyhonは、どうやって実行してますか? 「インタラクティブシェル」とは、ターミナル上で「python」または「python3」を実行して、対話モードで起動してる、という意味ですか? シェルは何ですか? ターミナルで、 echo $SHELL を実行したら分かります たぶん「bash」か「zsh」かどちらか
KBYS_Y

2021/09/28 04:31

$HOME/bin」に「geckodriver」を置く方法でもうまく行かないはずなのですが、それはうまく行ったのですよね? >>>うまく行ってないです。 Pyhonは、どうやって実行してますか? >>>始めたばかりなので、正しい答え方がよくわからないのですが、IDLEのインタラクティブシェルを使っています。 シェルは何ですか? >>>zshです。
jbpb0

2021/09/28 04:37

ターミナルで python3 を実行したら、たぶんPythonが対話モードで起動します 起動したらそこに from selenium import webdriver browser = webdriver.Firefox() を入力したらどうなりますか? なお、対話モードの終了は exit() です
KBYS_Y

2021/09/28 05:07

ターミナル上で実行したところ、エラーは発生せずに、うまくFirefoxが起動しました!
KBYS_Y

2021/09/28 05:07

インタラクティブシェルでやると、やはり最初と同じエラーが発生してしまいますが...
KBYS_Y

2021/09/28 05:20

ターミナル上でやれば、とりあえず、問題なく使えそうです。ありがとうございました!
jbpb0

2021/09/28 06:01

当方のMacにインストールしてるAnaconda(Python)に同梱されてる「idle3」をターミナルから起動して、 import os print(os.environ['PATH']) を実行して確認したら、「/usr/local/bin」が含まれてました 質問者さんの環境で、何で「PATH」の内容が「idle」に引き継がれないのか、謎です
guest

回答1

0

自己解決

ターミナル上では、エラーが起きずにできるっぽい

投稿2021/09/28 05:22

KBYS_Y

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問