在使用selenium进行web自动化测试时,经常需要切换到新窗口来操作。切换到新窗口可以使用以下步骤:
获取当前窗口的句柄:
makefile
Copy code
current_handle = driver.current_window_handle
获取所有窗口的句柄:
makefile
Copy code
all_handles = driver.window_handles
遍历所有窗口的句柄,找到新窗口并切换到该窗口:
yaml
Copy code
for handle in all_handles:
if handle != current_handle:
driver.switch_to.window(handle)
break
上述代码中,current_handle是当前窗口的句柄,all_handles是所有窗口的句柄,handle是遍历到的每个窗口的句柄。当找到新窗口的句柄时,使用switch_to.window()方法切换到该窗口。
需要注意的是,切换到新窗口后,需要使用switch_to.window()方法切换回原来的窗口。否则,在执行下一步操作时,会在新窗口中执行,导致测试用例执行失败。
scss
Copy code
driver.switch_to.window(current_handle)
上述代码可以切换回原来的窗口。