12

Selenium webdriver でページを開くと、クロム ダイアログ ボックスの [Choose certificate] が表示されます。デフォルトの証明書は正しいものなので、[OK] ボタンをクリックするだけです。しかし、私はこれに問題があります。私はPythonコードを持っています:

drv = webdriver.Chrome()   
drv.get("https://example.com/login")

その後、次のようなことをしたい:

drv.switch_to_alert().accept()

また

drv.switch_to_alert().send_keys(Keys.TAB)
drv.switch_to_alert().send_keys(Keys.SPACE)

問題は、コードが drv.get(" https://example.com/login ") 行で実行を停止することです。Webdriver はページの読み込みを待機しています。その行の前には、クロム ダイアログ ボックスはありません。

どうすればこれを処理できますか?

4

4 に答える 4

4

AutoIT のようなものを使用する必要があります。

http://www.autoitscript.com/site/autoit/

なぜ聞くの?これは OS ダイアログであり、Selenium では処理されないか、おそらく処理されないため、他のソリューションに頼る必要があります (たとえば、C# では、ネイティブの Win32 API メソッドを使用してボタンをクリックする必要があります)。

于 2013-02-20T09:44:32.673 に答える
2

証明書は、ブラウザではなく OS によって管理されます。ブラウザの証明書ストアから必要な証明書以外をすべて削除し、証明書が 1 つしか存在しない場合に証明書を自動的に選択するようにブラウザを構成します。ブラウザー プロファイルを作成し、プログラムでこのプロファイルを起動するか、HTTPS 経由のテストを回避することもできます。

于 2015-05-20T00:22:06.530 に答える