这是我的代码
Set<String> winHandle = driver.getWindowHandles();
System.out.println(winHandle);
我想拆分winHandle
。我打印winHandle时得到的值是这样的
[{0dd5d2e3-da7f-4a57-ad06-52c19336d3c6}, {a32fd7a5-040f-488f-8bc0-64d9a4496509}]
我想选择第二个值{a32fd7a5-040f-488f-8bc0-64d9a4496509}
答案 0 :(得分:0)
假设您的问题是&#34;如何获得第二项&#34;你需要迭代元素,直到你得到你正在寻找的元素。
所以你的代码看起来像
Iterator<String> it = winHandle.iterator();
it.next();//read and ignore first element
String value = it.next();//read and store second element
如果您的问题更为通用,例如&#34;如何获取 last 元素&#34;你可以用
String last = null;
Iterator<String> it = winHandle.iterator();
while(it.hasNext()){
last = it.next();
}
//when loop will end `last` will hold last element.
答案 1 :(得分:0)
方法driver.getWindowHandles()通常用于在浏览器的选项卡/窗口之间切换。如果您的问题是“如何切换到上次打开的选项卡/窗口”,您可以尝试以下代码:
Set<String> oldWindowsSet = driver.getWindowHandles();
//action that produce opening new tab/window (ex. webElement.click())
Set<String> newWindowsSet = driver.getWindowHandles();
newWindowsSet.removeAll(oldWindowsSet);
String newWindowHandle = newWindowsSet.iterator().next();
driver.switchTo().window(newWindowHandle);