2017-03-29 14 views
0

私はセレンの自動タスク設定を使用して、Webサイトにログインして情報を取得しています。それは自動化において非常に基本的です。ログインして2つのリンクをクリックするだけです。私は問題であることが判明している問題にぶつかっています。Selenium認証ポップアップによるドライバの終了または終了の防止

このサイトでは、認証が必要なポップアップを使用しています。このポップアップは、javascriptポップアップではなく、通常のWindows認証ポップアップです。私が読んだことから、これはセレンで処理されていません。

私は "http://Username:[email protected]"を使用してサイトにアクセスしていますが、今のところサイト自体に問題があり、ユーザ名/パスワードからランダムに再入力を求められます。時には手でそこをナビゲートするときに、ユーザー名とパスワードを2度続けて入力する必要があります。

私の仕事は、必要な情報を取り上げて数時間連続してループしているだけなので、WebDriverWaitを使って要素がページに存在していることを確認していました。認証ポップアップが表示された場合、要素は存在しません。このランを気にする必要はないので、やり直してください。

私が抱えている問題は、認証ポップアップが表示され、タイムアウト制限に達したときに、タスクをもう一度開始できるように、ドライバ/ブラウザウィンドウを閉じたいということです。しかし、driver.Close()とdriver.Quit()は何もしていません。ブラウザは開いたままで、アンロードされたページはまだログインポップアップと共にそこにあります。

私は強制的に閉じることができますか?ブラウザのウィンドウにフォーカスを切り替え、強制的に閉じますか?

+0

を?公開URLですか? URLを共有できますか? Windowsのプロンプトが頻繁に繰り返されますか? – DebanjanB

+0

なしパブリックURL。私は共有することはできません。私はそれを理解したと思う。私はちょうど "chromedrive"プロセスと "chrome"プロセスをキャプチャし、WebDriverExceptionのプロセスを終了します。 – Tom

答えて

0

アラートメソッドauthenticateUsing()では、[Http Basic Authentication]ボックスをスキップできます。以下のコードはJavaのGoogle Chromeでテストされています。場合

Alert alert = driver.switchTo().alert(); 
alert.authenticateUsing(new UserAndPassword(Username, Password)); 

それは動作しません、あなたは、このしようとする場合があります:あなたが使用しているブラウザ&どのバージョン https://stackoverflow.com/a/40757504/7071055

+0

私はこれを試してみます。アラートがランダムにポップアップするという問題のみです。警告があるという事実を検出する方法がわからない。 – Tom

関連する問題