やりたいこと
Python3.6でseleniumとchromdriverを使ってログイン処理を実装したく、
次のページを参考に実装を進めています。
類似のエラーに関するページをいくつか拝見し、webdriver.Chrome('')
の引数にPATHを指定してみたのですが、
引き続きパーミッションエラーで躓いています。
どこを直せば良さそうでしょうか?
参考ページ:
SeleniumとPandasを使ったデータ収集の自動化
Python + Selenium で Chrome の自動操作を一通り
Python
1from selenium import webdriver 2from selenium.webdriver.common.keys import Keys 3import pandas as pd 4from time import sleep 5#import chromedriver_binary 6 7# メールアドレスとパスワードの指定 8user_id = "xxxxx" 9user_pass = "xxxxx" 10 11# ログイン 12driver = webdriver.Chrome('/usr/lib/python3.6/site-packages/chromedriver_binary') 13driver.get("URL") 14 15# useD入力エレメント取得して入力 16ele = driver.find_element_by_xpath('//*[@id="user-login-table"]/tbody/tr[1]/td/input') 17ele.send_keys(user_id) 18print("userIDを入力") 19 20#userPassword入力エレメント取得して入力 21ele = driver.find_element_by_xpath('//*[@id="user-login-table"]/tbody/tr[2]/td/input') 22ele.send_keys(user_pass) 23print("userPasswordを入力") 24 25#Enterキーを押下 26ele.send_keys(Keys.ENTER) 27print("Enter") 28 29# 2秒間待機。 30sleep(2)
実行すると次のエラーが出ます。
Error
1Traceback (most recent call last): 2 File "/usr/lib/python3.6/site-packages/selenium/webdriver/common/service.py", line 76, in start 3 stdin=PIPE) 4 File "/usr/lib64/python3.6/subprocess.py", line 729, in __init__ 5 restore_signals, start_new_session) 6 File "/usr/lib64/python3.6/subprocess.py", line 1364, in _execute_child 7 raise child_exception_type(errno_num, err_msg, err_filename) 8PermissionError: [Errno 13] Permission denied: '/usr/lib/python3.6/site-packages/chromedriver_binary' 9 10During handling of the above exception, another exception occurred: 11 12Traceback (most recent call last): 13 File "aggregate.py", line 14, in <module> 14 driver = webdriver.Chrome('/usr/lib/python3.6/site-packages/chromedriver_binary') 15 File "/usr/lib/python3.6/site-packages/selenium/webdriver/chrome/webdriver.py", line 73, in __init__ 16 self.service.start() 17 File "/usr/lib/python3.6/site-packages/selenium/webdriver/common/service.py", line 88, in start 18 os.path.basename(self.path), self.start_error_message) 19selenium.common.exceptions.WebDriverException: Message: 'chromedriver_binary' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home
確認したこと
- HPに沿って
export PATH=$PATH:chromedriver-path
でPATHを通す - Permission
-rw-r--r-- 1 root root 743 8月 21 13:21 __init__.py drwxr-xr-x 2 root root 4096 9月 10 11:20 __pycache__ -rwxr--r-- 1 root root 11377344 9月 10 11:20 chromedriver -rw-r--r-- 1 root root 2648 8月 21 13:21 utils.py
追記
環境
- さくらのVPS
- cent OS7
- Python3.6
解決済み
driver = webdriver.Chrome('/usr/lib/python3.6/site-packages/chromedriver_binary')
↓
driver = webdriver.Chrome('/usr/lib/python3.6/site-packages/chromedriver_binary'/chromedriver)
回答1件
あなたの回答
tips
プレビュー