私は両方のドキュメントを調べてみましたが、答えは見つかりませんでした。
私は、InstaPyをPython用のinstagram APIとして使用しようとしています。複数のエラーで失敗し、InstaPyに問題があると想定したため、seliniumを使用して生のコードを作成しようとしました。サンプルコードを挿入し、好みに合わせて変更した後、このコードが機能することを確認しました。アクセス許可が正しくない可能性があるという古いエラーの代わりに、新しいエラーを受け取りました。再インストールして管理者として実行しようとしましたが、何も機能しません。これをどのように修正しますか、これはどういう意味ですか
コード:
import time
from Selenium import webdriver
driver = webdriver.Chrome('C:\Webdrivers') # Optional argument, if not specified will search path.
driver.get('http://www.google.com/xhtml');
time.sleep(5) # Let the user actually see something!
search_box = driver.find_element_by_name('q')
search_box.send_keys('ChromeDriver')
search_box.submit()
time.sleep(5) # Let the user actually see something!
driver.quit()
エラー:
Traceback (most recent call last):
File "C:\Program Files (x86)\Python36-32\lib\site-packages\Selenium\webdriver\common\service.py", line 74, in start
stdout=self.log_file, stderr=self.log_file)
File "C:\Program Files (x86)\Python36-32\lib\subprocess.py", line 707, in __init__
restore_signals, start_new_session)
File "C:\Program Files (x86)\Python36-32\lib\subprocess.py", line 990, in _execute_child
startupinfo)
PermissionError: [WinError 5] Access is denied
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Webdrivers\RawBot.py", line 5, in <module>
driver = webdriver.Chrome('C:\Webdrivers') # Optional argument, if not specified will search path.
File "C:\Program Files (x86)\Python36-32\lib\site-packages\Selenium\webdriver\chrome\webdriver.py", line 62, in __init__
self.service.start()
File "C:\Program Files (x86)\Python36-32\lib\site-packages\Selenium\webdriver\common\service.py", line 86, in start
os.path.basename(self.path), self.start_error_message)
Selenium.common.exceptions.WebDriverException: Message: 'Webdrivers' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home
エラーはそれをすべて言うWebDriverException: Message: 'Webdrivers' executable may have wrong permissions.
。
あなたが試しました:
driver = webdriver.Chrome('C:\Webdrivers') # Optional argument, if not specified will search path.
いくつかの言葉:
Windowsでは、chromedriver
バイナリパスを明示的に指定する場合は、バイナリ拡張とともにパスを指定する必要があります。
Windowsでは、chromedriver
バイナリパスに言及しながら、単一のフロントスラッシュ(/)
と生の(r)
スイッチまたはエスケープされたバックスラッシュを使用する必要があります(\\)
。
したがって、行は次のようになります。
driver = webdriver.Chrome(executable_path=r'C:/Utility/BrowserDrivers/chromedriver.exe')
これは、「chromedriver.exe」という完全なファイル名を入力すると解決しました。あなたが窓にいるならこれを試してください
chromeを使用している場合、chromedriverのフルパスを指定する必要があります。chromedriver実行可能ファイルが存在するディレクトリを検索します。実行可能ファイルをShiftキーを押しながら右クリックします。パス」をスクリプトに貼り付けます。二重バックスラッシュを使用することを忘れないでください
そのため、次のようになります。
driver = webdriver.Chrome('C:\\Utility\\BrowserDrivers\\chromedriver.exe')
私にとって、上記の答えはどれもうまくいきませんでした。しかし、chromedriver.exeを新しいパス(私の場合はデスクトップ)に移動すると解決しました。
path = "C:/Users/YOUR_USER/Desktop/chromedriver/chromedriver.exe"