0
I switch from window A to window B.When i try to perform an action on window B,it throws No such element exception.I am new to selenium webdriver.Please help me out.

私の要件: 1) http://www.kotak.com/bank/personal-banking/convenience-banking/net-banking.htmlに移動します 2) SECURELY LOGIN をクリックします 3) 新しく開いたウィンドウに切り替えて、ユーザー名と入力しますその中のパスワード。このウィンドウでユーザー名とパスワードを見つけると、エラーが発生します。

     My code :


    import java.util.Iterator;
    import java.util.Set;

    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;

    public class WindowHandler1 {


public static void main(String args[]) throws InterruptedException
{

    WebDriver driver = new FirefoxDriver();     

    driver.get("http://www.kotak.com/bank/personal-banking/convenience-                   banking/net-banking.html");
    Thread.sleep(5000);

    driver.findElement(By.xpath(".//*[@id='label-01']/a[1]")).click();
    Set<String> windowids = driver.getWindowHandles();
    Iterator<String> iter = windowids.iterator();
            System.out.println(windowids);

    String mainWindowId = iter.next();
    String tabedWindowId = iter.next();
    Thread.sleep(2000L);

            // switching to the new pop up window
            driver.switchTo().window(tabedWindowId);

            Thread.sleep(20000);

            //getting no such element exception upon executing  line below 
    driver.findElement(By.xpath(".//*[@id='Username']")).sendKeys("username");
            driver.findElement(By.id("Username")).sendKeys("abc");

} }

4

1 に答える 1

0

同様の問題があり、セレンのウィンドウハンドルのリストで、順序が常に同じではないことに気付きました。したがって、コードでは、リストの最後のウィンドウが新しいウィンドウであることに依存しているように見えますが、最初のウィンドウである可能性があります。解決策は、切り替えようとしているウィンドウが現在のウィンドウ ハンドルと同じでないことを確認することでした。

正しいウィンドウにいないため、NoSuchElement 例外が発生している可能性があります。

于 2013-10-08T15:13:16.633 に答える