Sto provando a usare il selenio ide per duplicare un'azione. L'azione fa clic su un collegamento che apre una nuova finestra. Come fai a focalizzare il selenio ide sulla nuova finestra anziché sull'altro? Non ha funzionato per me.Come ti concentri sulle nuove finestre con il selenio ide?
risposta
Selezionare Finestra
Per questo è necessario utilizzare il comando selectWindow | windowName
.
Per tornare alla finestra principale dall'altra finestra poi fare selectWindow | null
Arguments: * windowID - the JavaScript window ID of the window to select Selects a popup window using a window locator; once a popup window
è stata selezionata, tutti i comandi vanno a quella finestra. Per selezionare nuovamente la finestra principale , utilizzare null come destinazione.
Window locators provide different ways of specifying the window object:
per titolo, per interno JavaScript "nome", oppure variabile JavaScript.
* title=My Special Window: Finds the window using the text that
appare nella barra del titolo. Stai attento; due finestre possono condividere lo stesso titolo. Se ciò accade, questo localizzatore sarà selezionarne uno. * name = myWindow: trova la finestra utilizzando la proprietà "nome" JavaScript JavaScript. Questo è il secondo parametro "windowName" passato al metodo JavaScript window.open (url, windowName, windowFeatures, replaceFlag) (che Selenium intercetta). * var = variableName: alcune finestre popup sono senza nome (anonime), ma sono associate a un nome di variabile JavaScript nella finestra dell'applicazione corrente , ad es. "window.foo = window.open (url);". In questi casi, è possibile aprire la finestra utilizzando "var = pippo".
If no window locator prefix is provided, we'll try to guess what you
significa in questo modo:
1.) if windowID is null, (or the string "null") then it is assumed the
utente si riferisce al finestra originale istanziato dal browser).
2.) if the value of the "windowID" parameter is a JavaScript variable
nome nella finestra corrente dell'applicazione , allora si presume che questa variabile contiene il valore restituito da una chiamata al JavaScript window.open (metodo).
3.) Otherwise, selenium looks in a hash it maintains that maps string
nomi alla finestra "nomi".
4.) If that fails, we'll try looping over all of the known windows
per cercare di trovare il giusto "titolo". Poiché "title" non è necessariamente univoco, questo potrebbe avere il comportamento inaspettato .
If you're having trouble figuring out the name of a window that you want
per manipolare, guardare i messaggi di log selenio che identificano i nomi di finestre create tramite window.open (e quindi intercettato da Selenio). Vedrete messaggi come quanto segue per ogni finestra come è aperto:
debug: window.open call intercepted; window ID (which you can
uso con selectWindow()) è "myNewWindow"
In some cases, Selenium will be unable to intercept a call to
window.open (se si verifica la chiamata durante o prima dell'evento "onLoad", per esempio ). (Si tratta di bug SEL-339). In questi casi, è possibile forzare selenio per preavviso il nome della finestra aperta utilizzando il comando selenio openWindow, utilizzando un URL (vuoto) vuoto, in questo modo: openWindow ("" , "myFunnyWindow").
selectWindow (WindowID)
selectPopup
Se si tratta di un popup poi fare selectPopUp | windowId
e poi per tornare alla finestra principale fare selectWindow | null
selectPopUp(windowID)
Argomenti:
- windowID - un identificatore per la finestra pop-up, che può assumere diversi significati
Semplifica il processo di selezione di una finestra popup (e non offre funzionalità oltre a quelle che selectWindow() fornisce già).
- Se windowID non è specificato o specificato come "null", viene selezionata la prima finestra non superiore. La finestra superiore è quella che verrebbe selezionata da selectWindow() senza fornire un windowID. Questo non dovrebbe essere usato quando più di una finestra popup è in gioco.
- In caso contrario, la finestra sarà guardato per considerare WindowID come il seguente ordine:
- Il "nome" della finestra, come specificato a window.open() variabile
- Un JavaScript, che è un punto di riferimento a una finestra
- Il titolo della finestra. Questa è la stessa ricerca ordinata eseguita da selectWindow
fa il bug segnalare qui: http: // jira .openqa.org/browse/SEL-703 si applicano a ciò che hai delineato sopra? Ho lottato con selectWindow per ore ora. mi sta facendo impazzire. – the0ther
fantastico !!! semplicemente usare 'selectPopup' ha risolto il mio problema. molte grazie! –
Inoltre, non dimenticare di inserire un'waitForPopUp 'prima di iselectPopup' per assicurarsi che il pop-up abbia terminato il caricamento prima di provare a selezionarlo. –
È possibile memorizzare l'ID della finestra casuale (generato da Selenio IDE) usando ‘storeAttribute’ comando. Hai solo bisogno di memorizzare l'ID in una variabile e quindi puoi selezionare la finestra usando il comando 'selectWindow'.
Provate ad usare questo:
<tr>
<td>storeAttribute</td>
<td>link=Help [email protected]</td>
<td>window_ID</td>
</tr>
<tr>
<td>selectWindow</td>
<td>${window_ID}</td>
<td></td>
</tr>
Prova questo utilizzando Selenio Web Driver 2:
driver.switch_to.window(driver.window_handles.last);
L'OP chiede chiaramente una soluzione in Selenium IDE –
Considerate questo: si preferisce rimuovere solo l'attributo target="_blank"
? Per me questa è stata una soluzione:
getEval
this.page().findElement('link=Facebook').removeAttribute('target');
Rimanendo all'interno della stessa finestra ha alcuni vantaggi di selenio IDE, vedendo non supporta vuoto bersaglio.
sembra che l'ho downvoted per sbaglio - la soluzione risulta piuttosto elegante in un desiderio di moda che potrei migliorare a upvote – Alvin
Questa è in realtà la soluzione più veloce e più semplice per la maggior parte dei casi d'uso . Funziona anche su forme! –
- 1. xmonad: sposta nuove finestre fluttuanti
- 2. PHP proc_open problemi sulle finestre
- 3. Python + webkit + gtk sulle finestre
- 4. Selenio: test delle finestre a comparsa
- 5. "Impossibile trovare vcvarsall.bat" errore sulle finestre
- 6. Impostazione percorso per firefox binario su finestre con selenio WebDriver
- 7. Django--django-admin.py sulle finestre non funziona
- 8. clangore e <iostream> sulle finestre
- 9. Ottieni elemento con jquery e selenio IDE 1.0.8
- 10. diversi problemi di esecuzione grunt.cmd sulle finestre
- 11. Installazione Postgres sulle finestre per l'uso con Ruby-on-Rails
- 12. Utilizzare if/else nel selenio ide
- 13. Cancellare i cookie di sessione con Selenio IDE?
- 14. Selenio IDE gotoIF stringhe confrontando VCHAR
- 15. Miglior controllo sulle finestre di Emacs
- 16. Rake autorizzazione negata cp sulle finestre
- 17. Ottenere indirizzo MAC sulle finestre in Qt
- 18. Come creare nuove finestre PyQt4 da una finestra esistente?
- 19. Come posso rilevare quando vengono aperte nuove finestre e/o ottenere un elenco di finestre aperte?
- 20. Selenio IDE: Come selezionare prossima data disponibile da datepicker
- 21. Capire il prologo funzione di chiamata C con __cdecl sulle finestre
- 22. Come gestisco l'apertura e la chiusura di nuove finestre con MVVM?
- 23. Come utilizzare il selenio con Ruby?
- 24. Come tenere premuto il tasto con selenio
- 25. Emacs elisp espandere-file-name comportamento sulle finestre
- 26. Come aprire un URL nelle schede di IE e non in nuove finestre - Java
- 27. È necessario un ID univoco in javascript per finestre con schede e nuove finestre in Internet Explorer
- 28. boot2docker sulle finestre - Impossibile accedere alla porta a vista
- 29. Integrare il selenio con Scrapy
- 30. Elemento selenio Non trovato anche se il selenio popola l'id
controllare questo collegamento, ho anche postato in seguito, ho la sensazione selectWindow è molto rotto: http://jira.openqa.org/browse/SEL-703 – the0ther