seleinum driverを使ってブラウザ操作するPythonコードを
コマンドプロンプトから実行したときだけ
コンソールに警告(ワーニング)が大量に出ることがある。これを消す対策。
環境構築するたび忘れてしまいネット検索で探すハメになるからメモ。
動作検証済だが対策はネット記事から拾ったものである。感謝。
前提
AnacondaでインストールしたPython
pipでインストールしたseleniumのバージョンは3.141.0
環境1:
Python3.6
Windows7
モジュール内
\site-packages\selenium\webdriver\common\service.py
修正前
self.process = subprocess.Popen(cmd, env=self.env,
close_fds=platform.system() != 'Windows',
stdout=self.log_file,
stderr=self.log_file,
stdin=PIPE)
修正後
self.process = subprocess.Popen(cmd, env=self.env,
close_fds=platform.system() != 'Windows',
stdout=self.log_file,
stderr=self.log_file,
creationflags=0x08000000, # !!! 追加 !!!
stdin=PIPE)
環境2:
Python3.7
Windows10
上の対策では消えなかったが、下の対策(各々のPythonコード内)でワーニングが消えた。
from selenium.webdriver.chrome.options import Options
from selenium.webdriver import Chrome
options = Options()
↓以下を追加
options.add_argument('--log-level=3')
options.add_experimental_option('excludeSwitches', ['enable-logging'])
↑ここまで
driver = Chrome(options=options)
ワーニングが消えてスッキリ。
なぜ消えるのか、なぜ環境で違うのかは知りません。