私はCentOSにFirefoxとSeleniumをインストールしました。私はXvfbとpyvirtualdisplayを使ってブラウザを開きます。許可が拒否されました: 'geckodriver.log'はPythonでSelenium Webdriverを実行中です
私はセレンwebdriverを実行しようとすると、私は新しいディスプレイを開くことができるんだけど、すぐに私は
browser = webdriver.Firefox()
がそうであるように、私はエラーを取得する:
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 134, in __init__
self.service = Service(executable_path, log_path=log_path)
File "/usr/lib/python2.7/site-packages/selenium/webdriver/firefox/service.py", line 45, in __init__
log_file = open(log_path, "a+")
IOError: [Errno 13] Permission denied: 'geckodriver.log'
任意の手掛かりここで何がうまくいかないの?
EDIT:パーミッションエラーを克服した後、私はどうやらこれはあなたのFirefoxとあなたのセレン間の非互換性から来ることができる
Message: 'geckodriver' executable needs to be in PATH
スクリプトを実行しているユーザーは、スクリプトのパスに 'geckodriver.log'というファイルを作成する権限がありますか? –
PCを実行している別のプロセスによって既に開かれているため、このログファイルに書き込むはずはありません(セレンを使用しているときに自分のPythonプログラムであると推測できます)。 –
@IvanChaer:スーパーユーザーとしてログインしていて、 "sudo"を使ってSeleniumをインストールしました。私はpythonシェルとwebdriverのものとして許可を求めるスクリプトでコマンドを実行しています。 –