Sto tentando di aprire un collegamento facendo clic su di esso utilizzando capybara/poltergeist che si apre in una nuova scheda.Apertura di una nuova scheda in Capybara/Poltergeist
Non riesco a farlo funzionare.
@session.find(<link>).click
sembra solo per rimanere sulla stessa pagina, come fa
click_link "<link>"
@session.driver.window_handles
sembra solo di darmi 1 finestra tutto quello che sto facendo.
Come si apre il collegamento in una nuova scheda?
Sembra essere un bel po 'di confusione su ciò che funziona o no a la (With Capybara, how do I switch to the new window for links with "_blank" targets?).
Sperando che qualcuno l'abbia elaborato ... Sembra che non riesca a capirlo.
Ok. Aggiornando all'ultima versione di poltergeist (1.6.0) abbiamo qualche progresso.
Ora tuttavia ho due finestre ma non ho idea di come passare da una all'altra.
@session.windows
mi dà
[Finestra @ maniglia = "0", Finestra @ maniglia = "1"] (leggermente modificato come stava andando un po 'strano).
Ma
@session.switch_to_window(1)
risultati in
NoMethodError: undefined method `handle' for "1":String
Questo è corretto. 'switch_to_window' vuole un oggetto Window come argomento, non un indice. Ecco perché, ad es. 'windows.last' funziona. Puoi anche fare '@ session.switch_to_window (@ session.windows [1])'. Dovresti accettare la tua risposta come corretta! – henrebotha