Selenium:Edgeで「自動テストソフトウェアによって制御されています」を非表示にする
多くの説明で enable-automation オプションを外すように書かれているが、根本的に間違い。
内部の自動テスト機能の一部が使えなくなる。
やるなら、ブラウザをあらかじめ別途起動して、その時に -remote-debugging-port=9222 --user-data-dir=C:\your_temp_dir_here オプションを付ける。
この場合、「自動テストソフトウェアによって制御されています」というバナーは出てこなくなる。
9222 はどこからやってきた数字? ポート番号自体はマイナー製品(?)(teamcoherence)に割り当てられている模様。
ホスト内でぶつからないポート番号ならどれでもよい。
--user-data-dir を付けないと起動したときのユーザーの設定状態(ユーザープロファイル)がそのまま使われてしまう。
--user-data-dir があっても残念ながら Edge へのログインユーザーは起動したユーザーのものになる模様。一度この状態で起動した後、サインアウトして同期しないように設定する。
最初にWindowsのログインユーザーをテスト用ユーザーにするのが最も安全かもしれない。
Edge のデフォルトインストール場所は "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
Selenium のローカル側でこのリモートデバッグポートへの接続を書く。
参考