2016-05-27 8 views
0

私は無効なユーザー名/パスワードのブラウザを閉じたいが、私はそれを行うことはできません。有効な入力に対しては正常に実行されますが、無効なログインの場合は、「無効なログイン」と表示されているページで停止します。これは私のコードです。 setup1はブラウザを開くだけです。セレンのwebdriver無効なログイン

しばらく(recordset.next()){

    setUp1(); 
        System.out.println(driver1); 
        driver1.manage().timeouts().implicitlyWait(3000, TimeUnit.SECONDS);  

       System.out.println(recordset.getField("NAME")); 
       System.out.println(recordset.getField("PASSWORD")); 

       String store1 = recordset.getField("NAME"); 
       String store = recordset.getField("PASSWORD"); 


       driver1.findElement(By.id("signin_button")).click(); 
       driver1.findElement(By.id("user_login")).clear(); 
       driver1.findElement(By.id("user_password")).clear(); 
       driver1.findElement(By.id("user_login")).sendKeys(store1); 
       driver1.findElement(By.id("user_password")).sendKeys(store); 

       driver1.findElement(By.name("submit")).click(); 


       driver1.findElement(By.xpath("//div/ul[@class = 'nav float-right']/li[3]")).click();    
       driver1.findElement(By.id("logout_link")).click(); 

答えて

0

driver1.findElement(By.xpath("//div/ul[@class = 'nav float-right']/li[3]"))NoSuchElementException例外をスローする場合は、driver1.close()を呼び出すことができます。

現在のページがブラウザで開いている唯一のページである場合、ブラウザは閉じられます。ここで

は一例ではありません。

try{ 
    WebElement elm = driver1.findElement(By.xpath("//div/ul[@class = 'nav float-right']/li[3]")); 
    elm.click(); 
}catch(NoSuchElementException e){ 
    driver1.close(); 
    break; // exit the loop. 
} 
+0

全くその動作していません。私は無効なログインがあるときブラウザを閉じる何かが必要です。その閉鎖していない。 –

+0

@AvantikaSarkar 'By.xpath(" // div/ul [@class = 'nav float-right']/li [3] ")の代わりに、有効なログイン時にのみ表示される要素を取得するか、無効なログイン時にのみ表示される要素が存在する場合は、 'close()'を呼び出します。 – Titus

+0

私はエラー要素を追加しようとしていますが、それ以外の場合はそれを行うことができません。その表示は "!= null"を追加します。 –

関連する問題