Ich versuche einen Link zu öffnen, indem ich ihn mit capybara/poltergeist anklicke, was sich in einem neuen Tab öffnet.Öffnen eines neuen Tabs in Capybara/Poltergeist
Ich kann nicht scheinen, es funktioniert zu bekommen.
@session.find(<link>).click
scheint nur auf der gleichen Seite zu bleiben, wie auch
click_link "<link>"
@session.driver.window_handles
Nur 1 Fenster zu geben, scheint mir, was ich tue.
Wie bekomme ich diesen Link in einem neuen Tab öffnen?
Scheint eine ziemlich große Verwirrung darüber zu sein, was funktioniert oder nicht a la (With Capybara, how do I switch to the new window for links with "_blank" targets?).
In der Hoffnung, jemand hat es ausgearbeitet ... Kann mich nicht um meinen Kopf kümmern.
Ok. Durch die Aktualisierung auf die neueste Version von Poltergeist (1.6.0) haben wir einige Fortschritte erzielt.
Jetzt aber habe ich zwei Fenster, aber keine Ahnung, wie man zwischen ihnen wechseln kann.
@session.windows
gibt mir
[Fenster @ handle = "0", Fenster @ handle = "1"] (leicht modifiziert, wie es ein bisschen komisch würde).
Aber
@session.switch_to_window(1)
Ergebnisse in
NoMethodError: undefined method `handle' for "1":String
Das ist richtig. 'switch_to_window' will ein Window-Objekt als Argument, keinen Index. Deshalb z. 'windows.last' funktioniert. Sie können auch '@ session.switch_to_window (@ session.windows [1])' 'ausführen. Sie sollten Ihre Antwort als richtig akzeptieren! – henrebotha