seleniumの起動時に黒いコンソールが立ち上がる問題の解決



色々いじっていたら、全く同じコードで動かしているのにもかかわらず挙動が変わってしまうことって珍しくありません。

今回はPythonのseleniumでGoogleChromeを操作しようとしていたのですが、今までと全く同じソースコードで起動させようとすると、chromedriverのログコンソールが立ち上がる状況になってしまいました。

とりあえず解決したので、同じく困っている方のための解決策。

状況:Chrome起動時にコンソールが立ち上がる

状況スクショ

こんな感じで、Chromeの起動前にコマンドプロンプトのようなログが出力されるコンソールが立ち上がります。

画像にも映っている通りもちろんheadressのオプションの状態でも、ゴリゴリコンソールが立ち上がるので、うっとおしいです。

解決:seleniumのファイルを直接編集する

きっかけは、環境変数が変わったこと、またはPythonのパッケージ一式を再インストールしたことのどちらかだろうという状況。

いずれにせよ、心当たりがありすぎて、明確な原因はさっぱりわかりません。

selenium自体にオプションのようなコマンドがあるのかと思ったんですが、調べても出てこない。

という事で、起動ファイルを直接編集することにしました。

編集するseleniumのファイル

モジュールをインストールしているディレクトリ内のseleniumフォルダ内にあります。

当該ファイルの上の方にとりあえず上記コードを追加。追加モジュールのインポートですね。多分あると思いますが、万一ない人はpipで入れてください。

startメソッド内。自分の環境では62行目付近から記載されていました。

編集個所は、上記のstartメソッド内 subprocess.Popen メソッド。

ここがChromeを起動させる箇所ですが、そこに先ほどインポートするようにしたモジュールの専用の引数を渡します。

この引数を渡します。
改行するので、一行上の引数の末尾のカンマを忘れないでください。

まとめ

とりあえず、これで直ります。