watir 在驱动程序之间切换

watir switch between drivers

我创建了多个浏览器,我需要在它们之间切换,但是当我使用传统方式时,我得到了这个错误 message.which 是这样的

browser[i].button(:name=>'submit').click

弹出的错误:-

Browsing context has been discarded (Selenium::WebDriver::Error::NoSuchWindowError)

这让我觉得我需要在浏览器 [0] 和浏览器 [1] 之间切换,但是没有为浏览器定义切换到。有什么想法吗?

browser[i].switch_to.window(browser[(i+1)%z].window_handle)

您正在尝试连接由两个不同驱动程序打开的两个不同浏览器,您可以在一个驱动程序打开的浏览器之间切换。例如,当您单击 link 如果它打开一个新的 window,那么您可以切换到新的 window。

您可以通过编写以下代码

转移到新的window
 b.windows.last.use do |browser|
       browser.button.click #for an example
 end