在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])
也许这对某人有用。