通常、chromedriverを実行すると、常にこの出力が表示されます。これは、chromedriverを実行しているときに誰もが確実に取得するものです。これは出力全体ではなく、特定の文に関するものです。
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
タイトルが言うように、出力は常に得られます。 ChromeDriverが保護されたポートのみを使用していることを確認するにはどうすればよいですか?
このINFOメッセージ...
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
...ChromeDriver v2.46で引き起こされたバグの結果でした
説明に従って 詳細ログが有効になっている場合、2.46は予期しないdebug.logファイルを生成しますInitLogging() 内 logging.cc の一部のログ(関数の最後の行で)logging::InitLogging
が呼び出される前でも、メッセージの書き込みが早すぎます。これは[〜#〜] ok [〜#〜]LinuxおよびMacOS。デフォルトのログの宛先は、期待される場所です。ただし、Windowsでは、デフォルトのログ宛先はdebug.log
という名前のファイルです。
したがって、ChromeDriverチームは、logging::InitLogging
を呼び出した後、メソッドの最後への2つのVLOG
呼び出しを削除する必要がありました。
この問題は commit によって解決され、ChromeDriver 73.x内で修正が利用可能になりました
@barancev mentionsChromeDriverが空いている Ephemeral port を見つけようとするため、ポートの使用について私たちにできることはほとんどありません。システムに依存する一時的なポート範囲検出器。 ephemeral port は、プログラムが使用可能なユーザーポートを要求したときにオペレーティングシステムによって作成される、存続期間の短いエンドポイントです。オペレーティングシステムは、事前定義された範囲(通常は1024〜65535)からポート番号を選択し、関連するTCP接続が終了した後にポートを解放します。
デフォルトでは、システムは、Windows Server 2003で同時に実行される最大約4,000の一時ポートを作成でき、Windows Server 2008で約16,000を同時に実行できます。
ChromeDriver 73.xにアップグレードすると、この問題が解決します。
これらのログメッセージは、 ChromeDriver-セキュリティに関する考慮事項 を反映しています。
ChromeDriverは強力なツールであり、悪意のあるユーザーに害を及ぼす可能性があります。 ChromeDriverを使用している間は、ChromeDriverを安全に保つために次の推奨事項に従ってください。
--whitelisted-ips
スイッチを使用して、ChromeDriverへの接続を許可するIPアドレスのリストを指定します。Chrome here )で制限されているポートのリストを確認できます。
私にも同じ問題があり、リンクにhttpsを追加するだけでした。例:driver.get( " https://www.yahoo.com ");
これで問題が解決し、スクリプトが実行されています。