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

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

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

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

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

解決済

ChromeDriverのPATHが通らない

smoke
smoke

総合スコア20

Python 3.x

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

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

1回答

0リアクション

0クリップ

567閲覧

投稿2022/07/23 00:50

seleniumでChromeDriverを使用したいのですがエラーが出てしまいます。
対処法がわかりません。
エラーの原因と対処方法がわかる方がいればアドバイスお願いいたします。

D:\DEV\AAA\main.py

from selenium import webdriver driver = webdriver.Chrome(executable_path="D:\DEV\AAAr\chromedriver.exe")

上記コードを実行すると以下のエラーがでます。

エラーメッセージ PS C:\Users\UserName> & C:/Users/UserName/AppData/Local/Programs/Python/Python39/python.exe d:/DEV/AAA/main.py d:\DEV\AAA\main.py:3: DeprecationWarning: executable_path has been deprecated, please pass in a Service object driver = webdriver.Chrome(executable_path="D:\DEV\AAA\chromedriver.exe") Traceback (most recent call last): File "C:\Users\UserName\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\common\service.py", line 71, in start self.process = subprocess.Popen(cmd, env=self.env, File "C:\Users\UserName\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 951, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "C:\Users\UserName\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 1420, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "d:\DEV\AAA\main.py", line 3, in <module> driver = webdriver.Chrome(executable_path="D:\DEV\AAA\chromedriver.exe") File "C:\Users\UserName\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 70, in __init__ super(WebDriver, self).__init__(DesiredCapabilities.CHROME['browserName'], "goog", File "C:\Users\UserName\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 90, in __init__ self.service.start() File "C:\Users\UserName\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start raise WebDriverException( selenium.common.exceptions.WebDriverException: Message: 'chromedriver.exe' executable needs to be in PATH. Please see https://chromedriver.chromium.org/home

ChromeDriverの環境変数Pathが通っていないことが原因だと考え、
こちらの記事を参考に環境変数を設定しました。

1.「コントロールパネル」を開く 2.「システムとセキュリティ」を開く 3.「システム」を開く 4.「システムの詳細設定」を開く 5.「環境変数」を開く 6.「システム環境変数」から「Path」を選択して「編集」をクリック 7.「新規」をクリックしてパスを追加 8.各ページを「OK」で閉じて再起動

今回の環境だと、D:\DEV\AAA\にchromedriver.exeがあるので、7.「新規」をクリックしてパスを追加の工程でD:\DEV\AAAを追加しました。

もう一度実行してみましたが、同じエラーがでます。

7.「新規」をクリックしてパスを追加の工程でD:\DEV\AAA\を追加してみたりしましたが、結果は変わりません。

デスクトップ上に作成したシステム環境変数を設定していないchromedriver.exeを参照すると普通に動きます。
このことから、Dドライブにおいた.pyやchromedriver.exeを使用するには適切なディレクトリにcdするような処理が必要になるのかなと考えているのですがなにをすればいいかわかりません。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

jbpb0

2022/07/23 01:13

webdriver.Chrome(executable_path="D:\DEV\AAAr\chromedriver.exe") ↓ 変更 webdriver.Chrome(executable_path=r"D:\DEV\AAA\chromedriver.exe") で、どうでしょうか?
jbpb0

2022/07/23 01:22

環境変数Pathに「chromedriver.exe」がある場所(パス)を追加してるなら、 webdriver.Chrome(executable_path="D:\DEV\AAAr\chromedriver.exe") ↓ 変更 webdriver.Chrome() でも大丈夫かも
smoke

2022/07/23 01:36

アドバイスありがとうございます。 webdriver.Chrome(executable_path=r"D:\\DEV\\AAA\\chromedriver.exe") とすることで解決しました。 ちなみにwebdriver.Chrome(executable_path="D:\\DEV\\AAA\\chromedriver.exe")でもエラーをなくすことができました。
jbpb0

2022/07/23 01:54 編集

> webdriver.Chrome(executable_path=r"D:\\DEV\\AAA\\chromedriver.exe") とすることで解決しました。 あれ? 「r"D:...」と「r」を付けたら、「\\」と二つ並べなくても大丈夫なはずなのですが 参考 https://note.nkmk.me/python-raw-string-escape/ の「raw文字列でエスケープシーケンスを無視(無効化)」の「Windowsのパス」 > webdriver.Chrome(executable_path="D:\\DEV\\AAA\\chromedriver.exe")でもエラーをなくすことができました。 そのようにいちいち「\\」と変えるのがメンドクサイので、「r」を付けるのです

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

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

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。