web-dev-qa-db-ja.com

セレン-chromedriver実行可能ファイルはPATHにある必要があります

エラーメッセージ:

「chromedriver」実行可能ファイルはPATHにある必要があります

私はpycharmでSeleniumを使用してスクリプトをコーディングしようとしましたが、上記のエラーが発生しました。 ここで見られるように、Seleniumをpycharmにすでにリンクしています(新鮮で最新)

私はSeleniumを初めて使用しますが、「Selenium」フォルダ内のchromedriverではありません。そうでない場合、どこで見つけてパスに追加できますか?

ところで、cmdに「chromedriver」と入力しようとしましたが、内部コマンドまたは外部コマンドとして認識されませんでした。

以下に示すエラー:

Traceback (most recent call last):
  File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\site-packages\Selenium\webdriver\common\service.py", line 64, in start
    stdout=self.log_file, stderr=self.log_file)
  File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py", line 947, in __init__
    restore_signals, start_new_session)
  File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py", line 1224, in _execute_child
    startupinfo)
PermissionError: [WinError 5] Permission denied

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/sebastian/PycharmProjects/web/bot.py", line 10, in <module>
    browser = webdriver.Chrome("C:/Users/sebastian/desktop/Selenium-3.0.1")
  File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\site-packages\Selenium\webdriver\chrome\webdriver.py", line 62, in __init__
    self.service.start()
  File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\site-packages\Selenium\webdriver\common\service.py", line 76, in start
    os.path.basename(self.path), self.start_error_message)
Selenium.common.exceptions.WebDriverException: Message: 'Selenium-3.0.1' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home

Exception ignored in: <bound method Service.__del__ of <Selenium.webdriver.chrome.service.Service object at 0x01EDEAF0>>
Traceback (most recent call last):
  File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\site-packages\Selenium\webdriver\common\service.py", line 163, in __del__
    self.stop()
  File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\site-packages\Selenium\webdriver\common\service.py", line 135, in stop
    if self.process is None:
AttributeError: 'Service' object has no attribute 'process'
27

こちらからChromeDriverをダウンロードできます。 https://sites.google.com/a/chromium.org/chromedriver/downloads

次に、複数の options があります。

  • システムに追加しますpath
  • pythonスクリプトと同じディレクトリに配置します
  • executable_pathを介して場所を直接指定します

    driver = webdriver.Chrome(executable_path='C:/path/to/chromedriver.exe')
    
45

別の方法は、chromedriverをダウンロードして解凍し、C:\ Python27\Scriptsに「chromedriver.exe」を配置します。その後、ドライバーのパスを指定する必要はありません。

driver= webdriver.Chrome()

動作します

14
thebadguy