前提・実現したいこと
python初心者です。seleniumを使って簡単なスクレイピングを練習してみようと思ったところchromedriverをダウンロードしたのですがうまく反映されず同じようなエラーコードが出てしまいます。当方初心者なもので単純なミスあったり、根本的なところから間違っている可能性が大いにありますので、上げられる可能性はすべて指摘して頂ければすべて試してみたいと思っているのでお力を貸していただけると幸いです。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "C:\Users\owner\PycharmProjects¥kouta\venv\lib\site-packages\selenium\webdriver\common\service.py", line 76, in start stdin=PIPE) File "C:\Users\owner\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 775, in __init__ restore_signals, start_new_session) File "C:\Users\owner\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 1178, in _execute_child startupinfo) PermissionError: [WinError 5] アクセスが拒否されました。 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:/Users/owner/PycharmProjects¥kouta/試し用.py", line 4, in <module> driver = webdriver.Chrome(r'C:\Users\owner\Desktop\selenium\chromedriver\chromedriver_win32 (1)') File "C:\Users\owner\PycharmProjects¥kouta\venv\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 73, in __init__ self.service.start() File "C:\Users\owner\PycharmProjects¥kouta\venv\lib\site-packages\selenium\webdriver\common\service.py", line 88, in start os.path.basename(self.path), self.start_error_message) selenium.common.exceptions.WebDriverException: Message: 'chromedriver_win32 (1)' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home
該当のソースコード
python
1from selenium import webdriver #Selenium Webdriverをインポートして 2# Chromeで操作する場合 3driver = webdriver.Chrome(r'C:\Users\owner\Desktop\selenium\chromedriver\chromedriver_win32 (1)') 4driver = webdriver.Chrome(executable_path='chromedriver') 5driver.get('https://www.google.co.jp/') 6
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョ
pycharmを使用しています。
・OSはWindowsかと思われますが、バージョンは何でしょうか?
・Pythonの実行環境は何でしょうか?
windows10
pycharmを使用しております
ChromeとChromeDriverのバージョンは合っていますよね?
バージョン: 77.0.3865.120(Official Build) (64 ビット)
自身のクロームのバージョンがこれで、ダウンロードしたクロームドライバーのバージョンは77用のchromedriver_win32.zip 2019-08-20 18:02:49 4.54MB
をインストールしました。64BIT版がなかったので32BIT版にしました。
分かりづらかったら申し訳ございません。
パスを「chromedriver.exe」へのパスにしたらどうでしょうか?(win8ではそれで動きます)
エラーがパーミッションエラーなのがよく分かりませんが。
meg_さんの指摘通りexecutable_path=にchromedriver.exeのフルパスじゃなく
'chromedriver'と設定しているのでこれが見つからずパーミッションエラーになってるんじゃないかと。
File "C:/Users/owner/PycharmProjects¥kouta/試し2.py", line 3
driver = webdriver.Chrome('C:\Users\owner\Downloads\chromedriver_win32 (2)\chromedriver.exe')
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
ご指摘の通り変更したところ上記のようなエラーが出てしまいました・・
入力したコード
from selenium import webdriver #Selenium Webdriverをインポートして
# Chromeで操作する場合
driver = webdriver.Chrome('C:\Users\owner\Downloads\chromedriver_win32 (2)\chromedriver.exe')
driver = webdriver.Chrome(executable_path='C:\Users\owner\Downloads\chromedriver_win32 (2)\chromedriver.exe')
driver.get('https://www.google.co.jp/')
修正が間違っていましたら申し訳ないです。
> executable_path=''C:略
ここ何かおかしいと思いませんか?
また、chromedriver.exeが有るのは、(1)のディレクトリじゃなかったの?(2)のディレクトリになってるけど。
該当のソースコードに記載されているコードの3行目のパスに
\chromedriver.exe
を付けて、4行目を削除するだけだと思うんですが。
すいません。ディレクトリの方は諸事情あってこちらで勝手に変えただけです。お伝えしておらず申し訳ございませんでした。
ご指摘の通り修正したところ、無事動かすことができました。
_megさんY.Hさん自分の拙い質問内容にもご丁寧に向き合っていただき誠にありがとうございました。
回答1件
あなたの回答
tips
プレビュー