📜  在 selenium 中切换窗口的语法 (1)

📅  最后修改于: 2023-12-03 15:37:31.376000             🧑  作者: Mango

在 Selenium 中切换窗口的语法

在 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,以便完成对页面的正确测试和验证。