硒:接受警报弹出后如何返回上一页?

时间:2020-05-04 17:24:55

标签: python html selenium webdriver automated-tests

我在测试页上使用了硒(python)。 测试过程为:

  1. 最初,我有一个页面A,单击页面A上的链接会弹出第二个页面B。

  2. 当我在页面B上提交表单时,出现了一个警报弹出窗口(仅OK按钮)。

  3. 当接受弹出窗口时,页面B自动关闭。目前,浏览器中只有页面A,我可以看到它。

问题是,在关闭页面B之后,如何获得对页面A的控制权?

我的代码大致如下:

A_handle = dr.current_window_handle#最初在页面A上操作

...接受第B页上的弹出窗口后...

dr.switch_to_window(A_handle)#此行显示错误-没有此类窗口:目标窗口已关闭

我很困惑,有人可以解决吗?

1 个答案:

答案 0 :(得分:1)

在一页A(因此在打开页面B之前)执行以下操作:

main_window = dr.current_window_handle

要将驱动程序控制切换到B页,请执行以下操作:

dr.switch_to.window(dr.window_handles[1])

关闭B页后,请执行以下操作:

dr.switch_to.window(main_window)

您现在应该回到第A页。