2017-05-12 18 views
0

開いているポップアップウィンドウが開いているかどうかを確認しようとしています。JavaでSelenium WebDriverを開いているかどうかを確認する方法

は私が

How would you check if a popup window exists using selenium webdriver?

のようないくつかの質問の答えをチェックしている。しかし、ナッシングは、問題を解決するために助けました。

ここでは、まずログインボタンをクリックしてログインウィンドウを開きます。

driver.findElement(By.xpath("//a[@id='login_btn']")).click(); // Click Login Button 

login

私もgetPageSource()を試みたが、それが動作していないようです。

何か助けていただければ幸いです。

ありがとうございます。 :)

+0

おそらくそのポップアップではありません。それはちょうどfrmaeです。 – kushal

答えて

0
String mwh=driver.getWindowHandle(); 

現在、いくつかのアクションを実行することにより、ポップアップウィンドウを開こう:

driver.findElement(By.xpath("")).click(); 

Set s=driver.getWindowHandles(); //this method will gives you the handles of all opened windows 

Iterator ite=s.iterator(); 

while(ite.hasNext()) 
{ 
    String popupHandle=ite.next().toString(); 
    if(!popupHandle.contains(mwh)) 
    { 
     driver.switchTo().window(popupHandle); 
     /**/here you can perform operation in pop-up window** 
     //After finished your operation in pop-up just select the main window again 
     driver.switchTo().window(mwh); 
    } 
} 
1

それはネイティブ、ブラウザの警告(=ポップアップ)だ場合は、次の操作を行うことができます。

try{ 
    driver.switchTo().alert(); 
    // If it reaches here, it found a popup 
} catch(NoALertPresentException e){} 

実際に処理しているように見えるのは、iframe属性の属性値を取得した後で、次のことができるiframeです:

driver.switchTo.frame("ValueOfIframe"); 
// Treat as normal webpage. Now in iframe scope 
driver.switchTo.defaultContent(); // To return back to normal page scope 
関連する問題