selenium之浏览器弹出新窗口并在新窗口操作

在一个页面上点击一个链接之后,并不是在当前页面上打开,而是重新打开一个新页面;这种情况下如何跳转到新的页面上操作?

首先,需要了解的是每个窗口都有句柄的,可以理解为浏览器窗口的唯一标识符,根据这个标识符来确定新打开的窗口:

先获取当前窗口的句柄,

String current_handle = driver.getWindowHandle();

打开新窗口后获取所有窗口的句柄,

Set all_handles = driver.getWindowHandles();

通过循环判断是不是当前的窗口句柄,

Iterator it = all_handles.iterator();

while(it.hasnext()){

if(it.next() == current_handle){

continue;

}

//跳入新窗口

WebDriver new_driver = driver.switchTo().window(it.next());

}

新窗口的driver为new_driver,若要跳回之前的窗口,则使用如下:

driver.switchTo().window(current_handle);
原文链接:https://blog.csdn.net/x12c345/article/details/78119561

Published by

风君子

独自遨游何稽首 揭天掀地慰生平