2017-02-02 4 views
0
for (String winHandle : driver.getWindowHandles()) 
{ 
    driver.switchTo().window(winHandle); 
} 

ラムダ式を使用してこれを書き直すことはできますか?Seleniumでウィンドウを切り替えるためのLambda式の使用Javaを使用した

+0

すべてのループの繰り返しで 'driver.switchTo()'をもう一度実行する必要がありますか?そうでない場合は、単純に 'driver.getWindowHandles()。forEach(driver.switchTo():: window)'を使用してください。 – Holger

答えて

2

私は同等です

driver.getWindowHandles().forEach(windowHandle -> { 
    driver.switchTo().window(windowHandle); 
}); 

のために行くだろう:

for(String windowHandle : driver.getWindowHandles()) { 
    driver.switchTo().window(windowHandle); 
} 

forEachメソッド呼び出しがCollectionsのために使用することができます。 と一緒にforEachの使用法と平行して行くことができます。 Read further

+0

説明が役に立つかもしれません。 – Pavlo

+2

@Pavlo、説明を追加しました。 –

0

あなたは、ストリームAPIは、あなたの人生を容易にすることができ、他の可能性を提供しています

driver.getWindowHandles().stream().forEach((i) -> { 
    driver.switchTo().window(i); 
}); 

または

driver.getWindowHandles().parallelStream().forEachOrdered((i) -> { 
    driver.switchTo().window(i); 
}); 

のように同じようにそれを行うことができます。

関連する問題