我被问到一个问题,我们是否可以在selenium web驱动程序中处理多个弹出窗口。 坦率地说,我不知道。
但这是正确的方法。假设我们正在这样做,我们的屏幕上有3个弹出窗口。所以:
如果我错了,请纠正我。 谢谢,美好的一天。 - S.K
答案 0 :(得分:1)
正如Faiz在评论中提到的,每个窗口的引用都存储在driver.window_handles
数组中。
第一个句柄应该是你的主窗口,所以关闭弹出窗口(在Ruby中)可能是这样的:
driver.window_handles[1..-1].each do |handle|
driver.switch_to.window(handle)
driver.close
end
driver.switch_to.window(driver.window_handles.first)
处理一些边缘情况,如警报和抛出的异常,但需要更多的代码。