在Capybara / Poltergeist中打开一个新标签

我正在尝试使用capybara / poltergeist点击它来打开一个链接,它在新标签中打开。

我似乎无法让它发挥作用。

@session.find().click 

似乎只是停留在同一页面上

 click_link "" @session.driver.window_handles 

无论我在做什么,似乎只给了我一个窗口。

如何在新标签中打开该链接?

对于什么有效或不成功,似乎是相当混乱的( 对于Capybara,如何切换到新窗口以获得带有“_blank”目标的链接? )。

希望有人已经解决了……似乎无法理解它。

好。 通过更新到最新版本的poltergeist(1.6.0),我们取得了一些进展。

但是现在我有两个窗口,但不知道如何在它们之间切换。

 @session.windows 

给我

[Window @ handle =“0”,Window @ handle =“1”](略有修改,因为它有点好笑)。

 @session.switch_to_window(1) 

结果是

 NoMethodError: undefined method `handle' for "1":String 

是的,截至2014年2月5日和poltergeist的v1.6,你可以做到这一点,因为……

 @session.click_on "link_with_target _blank" @session.switch_to_window(@session.windows.last) #Do whatever you're doing @session.current_window.close @session.switch_to_window(@session.windows.first) 

希望为某人解决问题……

我这样做了

 page.switch_to_window(page.windows[0]) 

也许这对某人有用。