【Python】Selenium:「Chromeは自動テストソフトウェアによって制御されています」を消す方法
2021.02.05 /
本記事ではPythonのSeleniumモジュールからChromeを操作・制御した際に表示される「Chromeは自動テストソフトウェアによって制御されています」を消す方法について解説していきます。
Pythonでスクレイピングやブラウザ操作を行い、データ収集を行っている方は非常に多くいらっしゃいます。
スクレイピングのためにPythonを勉強しているという方も多いのではないでしょうか。
PythonとSelenium、WebDriverを組み合わせることでブラウザの操作や制御を行えます。
対象のブラウザがChromeの場合、必ず「Chromeは自動テストソフトウェアによって制御されています」という表示がブラウザ上に出てきます。
本記事の目的はこのステータスをブラウザ上から消すことです。
実行環境
- OS:Windows10
- Google Chrome:88.0.4324.104(Official Build)
- ChromeDriver:88.0.4324.96
- Python:Python 3.7.6
- Selenium:3.141.0
Seleniumについて
Pythonでブラウザを操作するにはSeleniumを使用するのが定番です。
静的なWebページからスクレイピングするのであればrequestsモジュールで事足りますが、動的なページ(Ajax、Javascript)であればSeleniumを使用してjavascriptを動かす必要が出てきます。
Seleniumの詳しい使い方は以下記事をご参照ください。
【Python】Selenium:ブラウザ操作して静的・動的(Ajax、javascript)ページから情報を取得
表示を消す方法
ChromeOptionに追加
SeleniumでChromeを自動操作する際に表示される「Chromeは自動テストソフトウェアによって制御されています」を消すには、ChromeOptionにexcludeSwitches: ['enable-automation']を追加することで表示がなくなります。
excludeSwitches: ['enable-automation']
Seleniumで上記オプションを追加するには以下のようにPythonスクリプトに記述します。
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ['enable-automation'])
driver = webdriver.Chrome(executable_path='chromedriver.exe', chrome_options=options)
url = "https://office54.net"
driver.get(url)
注意点
注意点としてはexcludeSwitchesには1つしか情報を加えられない、ということです。
どういうことかというと、EXE化したPythonスクリプトから「Getting Default Adapter failed」エラー表示をなくすためにexcludeSwitches: ['enable-logging']を追加したい場合は、今回の['enable-automation']は適応できないということです。
【Python】Selenium: bluetooth_adapter_winrt.cc: Getting Default Adapter failed(ChromeDriver)
どちらの設定を有効にするかは、実行するプログラム内容によって変更してください。
まとめ
本記事「【Python】Selenium:「Chromeは自動テストソフトウェアによって制御されています」を消す方法」はいかがでしたか。
たった数行を追加するだけで、邪魔だったステータスバーを消すことができるので、ぜひ使ってみてください。