Python
Selenium
PhantomJS

【Selenium】python3でphantomjs実行時のログ出力先の変更

More than 3 years have passed since last update.

pythonでphantomJS実行時のログがちょっとうざかったので、出力先の変更の仕方をここに記載します。


PhantomJSでの実行の仕方

from selenium import webdriver

# driverの指定
driver = webdriver.PhantomJS()
driver.set_window_size(1024, 768)
driver.get('https://google.com/')

# キャプチャ
driver.save_screenshot('google.png')

driver.quit()


デフォルトの出力

カレントディレクトリ以下に、ghostdriver.logという名前で保存されます。


出力先の変更

service_log_pathにパスを指定すると、そのパスに出力される

log_name = '/tmp/phantomjs.log'

driver = webdriver.PhantomJS(service_log_path=log_name)


ログレベルの設定

service_argsにphantomJSの引数、--webdriver-loglevelを指定する

log_name = '/tmp/phantomjs.log'

driver = webdriver.PhantomJS(service_log_path=log_name,service_args=["--webdriver-loglevel=ERROR"])

phantomJSに渡せる引数は、phantomjs -hで確認できる


標準出力させる

import os

import sys

driver = webdriver.PhantomJS(service_log_path=os.ttyname(sys.stdout.fileno()))


ログを出力しない

import os

driver = webdriver.PhantomJS(service_log_path=os.path.devnull)