HtmlUnit中的Swiching窗口

时间:2015-05-12 05:51:30

标签: java selenium selenium-webdriver selenium-firefoxdriver htmlunit-driver

当我在FirefoxDriver上使用selenium时,我使用以下代码切换窗口

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时,相同的代码无效。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您正在比较字符串引用而不是字符串值,请使用equals()代替==

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

详细信息:How do I compare strings in Java?

您也可以重写与

相同的方法
while (itr.hasNext()) {
    if (!parentID.equals(itr.next())) { 
        // No need to reassign same value to parentID  
        childID = itr.next();       
    }
}
driver.switchTo().window(childID);