📅  最后修改于: 2023-12-03 15:37:31.376000             🧑  作者: Mango
在 Web 自动化测试中,经常会遇到需要切换窗口的情景。例如,在一个窗口中点击了一个链接,需要在新窗口中对链接的内容进行验证。Selenium 提供了丰富的 API 支持窗口的切换。本文介绍了 Selenium 中切换窗口的语法和使用方法。
在切换窗口之前,需要先获取当前窗口的句柄。我们可以通过 driver.current_window_handle
来获取当前窗口的句柄:
current_handle = driver.current_window_handle
在切换窗口时,需要知道所有窗口的句柄。我们可以通过 driver.window_handles
来获取所有窗口的句柄:
all_handles = driver.window_handles
在获取到当前窗口和所有窗口的句柄后,我们可以通过 driver.switch_to.window(handle)
来切换窗口,其中 handle
为窗口的句柄:
# 切换到新窗口
for handle in all_handles:
if handle != current_handle:
driver.switch_to.window(handle)
break
# 切换回原窗口
driver.switch_to.window(current_handle)
driver.switch_to.window(current_handle)
切换回原窗口。driver.window_handles
获取窗口句柄时,窗口的顺序是不确定的,需要使用循环遍历所有句柄进行判断。driver.switch_to.window(handle)
切换窗口时,如果 handle
无效,将会抛出 NoSuchWindowException
异常。以上就是在 Selenium 中切换窗口的语法和使用方法。在实际测试中,我们需要根据具体的测试场景和需求来使用窗口切换 API,以便完成对页面的正确测试和验证。