2016-04-05 2 views
0

ウェブサイトをリフレッシュする際に表示されるWebブラウザのポップアップを受け入れる必要があります。 私は、ウェブサイトを更新するには、次のスクリプトを使用している - 私は、Webブラウザのポップアップを受け入れるために、コードの下に使用された後Selenium webdriverを使用してブラウザのポップアップにフォーカスを切り替える方法C#

driver.FindElement(By.Id("all_bt")).SendKeys(Keys.F5); 

を。

IAlert alert = driver.SwitchTo().Alert(); 
        Thread.Sleep(3000); 
        alert.Accept(); 

アラートが見つからないため、エラーが発生しています。 私は焦点がポップアップではない、それは理由かもしれないと信じています。 誰も私に助けてくれますか?

+0

それがなければならない...それでも、その後に動作しない場合は任意のフレームが存在しているかどうかを確認... [OK]をクリックし、直接してみてくださいブラウザーのポップアップの他にアプリケーションのポップアップ..アラートへの切り替えはその場合は機能しません –

+0

OKボタンを直接クリックすると動作します。スクリプトを記録するには、ポップアップは次のように認識されている - > \t​​assertAlert \t​​プロセスがエラーによって中断されました。 \t​​ – Rajith

+0

クール..私は答えとして溶液を添加している.. :)それは助けるの答えを受け入れる –

答えて

0

あなたがポップアップを機密レベル変更

driver.navigate().refresh(); 

Javaの

に以下のように試みることができる代わりに、F5とSENDKEYの、ページを更新する必要がある場合は、そのポップアップの要素を検査することができますか?ポップアップを調べることができれば、通常のページではなく警告になります。

使用されているロケータをクロスチェックしてください.OKボタンが表示されるのに必要な待機時間を試してください。フレーム内のボタンかどうか(iframe)。それがフレームの内側にある場合は、クリックする前にフレームを切り替えます。作業がフレームで完了したら、デフォルトのコンテンツに戻ります。

driver.switchTo().frame("provide frame name or location"); //switch to frame command 

    driver.switchTo().defaultContent(); //switch to default content command 

    //below is wait command 
    WebDriverWait wait=new WebDriverWait(driver, 120); 
    wait.until(ExpectedConditions.presenceOfElementLocated(By.id("id of ok"))); 

...それは、ブラウザのポップアップほかのアプリケーションポップアップする必要があり ムラリG

+0

ブラウザのポップアップですが、その中にOKボタンがありません。私は、スクリプトを記録するとポップアップが以下のように認識されている - \t​​assertAlert \t​​プロセスがエラーによって中断されました。Firefoxブラウザで \t​​ – Rajith

+0

使用放火犯はそのOKボタンを検査します。あなたがそれを調べることができないならば、それは警戒です。録音ごとに、アラートのように見えます。しかし、火かき棒で一度試してください –

0

はまだ任意のフレームが存在しているかどうかを確認後、動作しない場合は... [OK]をクリックし、直接試してみてください、ありがとうございました..警告するように切り替える

が、それはあなたを助けることを願っています、その場合には動作しません:)

+0

OKボタンを直接クリックして動作しています。スクリプトを記録すると、ポップアップは - >​​と認識されます。assertAlert​​エラーでプロセスが中断されました。​​ – Rajith

+0

セレンIDE経由での録画を意味します –

+0

はい。私はちょうどこのポップアップがセレンIDEを使用して録音することによってウェブブラウザのポップアップであることを確認しました。 – Rajith

関連する問題