1

FirefoxDriver でセレンを使用している場合、次のコードを使用してウィンドウを切り替えています

final Set<String> allwindowID = driver.getWindowHandles();
        final Iterator<String> itr = allwindowID.iterator();
        while (itr.hasNext()) {
            if (parentID == itr.next()) {
                parentID = itr.next();
            }
            else {
                childID = itr.next();
            }
        }
        driver.switchTo().window(childID);

しかし、HtmlUnitDriver を使用している場合、同じコードが機能しません。誰でも助けることができますか?

4

1 に答える 1

0

文字列値ではなく文字列参照を比較しています。equals()代わりに を使用して==ください。

while (itr.hasNext()) {
    if (parentID.equals(itr.next())) { 
        parentID = itr.next();   
    } else {
        childID = itr.next();
    }
}
driver.switchTo().window(childID);

詳細: Java で文字列を比較するにはどうすればよいですか?

また、同じメソッドを次のように書き直すこともできます

while (itr.hasNext()) {
    if (!parentID.equals(itr.next())) { 
        // No need to reassign same value to parentID  
        childID = itr.next();       
    }
}
driver.switchTo().window(childID);
于 2015-05-12T07:44:38.067 に答える