当我在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时,相同的代码无效。有人可以帮忙吗?
答案 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);