for (String winHandle : driver.getWindowHandles())
{
driver.switchTo().window(winHandle);
}
我們可以使用Lambda Expression重寫這個嗎?使用Lambda表達式在Selenium中使用Java切換窗口使用Java
for (String winHandle : driver.getWindowHandles())
{
driver.switchTo().window(winHandle);
}
我們可以使用Lambda Expression重寫這個嗎?使用Lambda表達式在Selenium中使用Java切換窗口使用Java
我會去
driver.getWindowHandles().forEach(windowHandle -> {
driver.switchTo().window(windowHandle);
});
這相當於:
for(String windowHandle : driver.getWindowHandles()) {
driver.switchTo().window(windowHandle);
}
forEach
方法調用可用於Collections
。 你可以並行使用forEach
和parallelStream
。 Read further。
某些解釋可能會有所幫助。 – Pavlo
@Pavlo,補充說明。 –
你可以不喜歡它
driver.getWindowHandles().stream().forEach((i) -> {
driver.switchTo().window(i);
});
或類似
driver.getWindowHandles().parallelStream().forEachOrdered((i) -> {
driver.switchTo().window(i);
});
流API提供了其他的可能性,可以使您的生活更輕鬆。
真的需要在每次循環迭代中再次執行'driver.switchTo()'嗎?如果沒有,您可以簡單地使用'driver.getWindowHandles()。forEach(driver.switchTo():: window)' – Holger