@recollect14th (匠 榊原)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

chromedriverがエラーで使えない

解決したいこと

ここに解決したい内容を記載してください。

Selenium, ChromeDriverを使ってWebスクレイピングの練習をしようと考えています。しかしエラーがどうやっても消えません。自分であれこれ試しましたが解決しないのでお力添えをいただければと思います。

発生している問題・エラー

<ipython-input-62-316893802a6d>:5: DeprecationWarning: executable_path has been deprecated, please pass in a Service object
  driver = webdriver.Chrome(r'C:\Selenium')

上記はコードのすぐ下にあったメッセージで、他にも
WebDriverException: Message: 'Selenium' executable may have wrong permissions. Please see https://chromedriver.chromium.org/home
とありました。

該当するソースコード

from selenium import webdriver 
import time
url = "https://www.google.com" 
keyword = "スクレイピング" 
driver = webdriver.Chrome(r'C:\Selenium')
driver.get(url)
time. sleep( 3)
search = driver. find_element_by_name("q")
search. send_keys( keyword)
search. submit() 
time. sleep( 5)
driver. quit()

自分で試したこと

パスを通さなければならないとあったので、方法を調べて実行しました。システムの詳細設定からシステム環境変数⇒Path⇒環境変数名の編集まで行ったところに「C:\Selenium」を新規で追加しました。問題があるとすれば問題のあるコードのパスの名前、パスの通し方、chromedriver.exeの保存場所などが考えられますがもう自分一人ではどうにもならなそうです。どうかご教授お願い致します。
スクリーンショット (202).png

*chromedriver.exeはWindows_SSDに保存してあります。

0 likes

1Answer

当方、selenium 3.x.x のため、4.x.x は未確認です。

回答 selenium 3.x.x の場合:

from selenium import webdriver

driver = webdriver.Chrome()
# または
driver = webdriver.Chrome("C:\Selenium\chromedriver.exe") # chromedriver.exeまでのフルパス

回答 selenium 4.x.x の場合:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
 
service = ChromeService()
driver= webdriver.Chrome(service=service)
# または
service = ChromeService("C:\Selenium\chromedriver.exe") # chromedriver.exeまでのフルパス
driver= webdriver.Chrome(service=service)

'Selenium' executable may have wrong permissions. について

誤った権限が設定されている、この質問の場合はパス指定間違ってますよの意。

DeprecationWarning について

以下を参照してください

アドバイス

使っている環境・ライブラリのバージョンを明記する
質問者が使っている環境はWindowsselenium 4.x.x だからPython3.7以降だな。
と、推測はできるが環境やバージョンが異なると再現性がなくなり、解決が遠のく。

まずはエラー文を検索をする
出てきたエラー文をそのまま検索すれば、ほとんどの場合は答えが載っています。

ライブラリ”ChromeDriverManager”を使う
指定バージョンのchromedriver.exeを使う必要がある、
サードパーティライブラリは使ってはいけないなど、
制約が無い限りは一番楽だと思います。(使い方は割愛)

2Like

Your answer might help someone💌