Usando il selenio con java, ho bisogno di testare un pulsante "Torna all'inizio", quindi quello che ho fatto è scorrere la pagina verso il basso fino a quando viene visualizzato il pulsante "Torna all'inizio" (così com'è visualizzato quando si scorre il 25% della pagina) e fare clic su di esso, questo pulsante porta l'utente in cima alla pagina, ora ho bisogno di controllare che funzioni e la parte visibile è la parte superiore della pagina. Come posso farlo usando java?Selenio, come si controlla la posizione di scorrimento
risposta
Il principio generale è di verificare il valore di window.pageYOffset
nel browser. Se il pulsante scorre completamente torna poi window.pageYOffset
dovrebbe avere un valore pari a 0. Assumendo che la variabile driver
tiene la vostra WebDriver
esempio:
JavascriptExecutor executor = (JavascriptExecutor) driver;
Long value = (Long) executor.executeScript("return window.pageYOffset;");
È quindi possibile verificare che value
è 0. executeScript
viene utilizzato per l'esecuzione Codice JavaScript nel browser.
Questa risposta inizialmente menzionata scrollY
ma non è supportata su IE. Il MDN page on it, dice:
Per la compatibilità cross-browser, utilizzare
window.pageYOffset
invece diwindow.scrollY
. Inoltre, le versioni precedenti di Internet Explorer (< 9) non supportano nessuna delle due proprietà e devono essere aggirate controllando altre proprietà non standard. Un esempio ampiamente compatibile:var supportPageOffset = window.pageXOffset !== undefined; var isCSS1Compat = ((document.compatMode || "") === "CSS1Compat"); var x = supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft; var y = supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;
Grazie a R. Oosterholt per i "testa a testa".
La risposta di Louis funziona, ma non è completamente compatibile con i browser, poiché Internet Explorer non supporta window.scrollY. Raccomando invece di usare window.pageYOffset - questo restituisce lo stesso valore ma è compatibile con browser diversi.
Fonte: https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY
Ecco il blocco di codice precedente con il codice modificato:
JavascriptExecutor executor = (JavascriptExecutor) driver;
Long value = (Long) executor.executeScript("return window.pageYOffset;");
Inoltre, la sintassi per Ruby (quello che uso per la mia posizione corrente, assumendo come prima che l'istanza del driver è accessibile attraverso il nome della variabile, "driver"):
driver.execute_script('return window.pageYOffset;')
- 1. Come si sincronizza la posizione di scorrimento di due div?
- 2. CListCtrl: come mantenere la posizione di scorrimento?
- 3. Come si controlla la versione di OpenMPI?
- 4. Imposta posizione di scorrimento
- 5. Chrome ricorda la posizione di scorrimento
- 6. Come mantenere la posizione di scorrimento usando la Pagina Master?
- 7. ListView ottiene la posizione di scorrimento?
- 8. Come ottenere la posizione della barra di scorrimento con Javascript?
- 9. Come posso impostare la posizione di scorrimento di un UIScrollView?
- 10. Come salvare la posizione di scorrimento di ListView
- 11. Come posso controllare la velocità di scorrimento di recyclerView.smoothScrollToPosition (posizione)
- 12. Come mantenere la posizione di scorrimento in NSScrollView quando si modifica la scala?
- 13. Modifica posizione barra di scorrimento
- 14. Come "ricordare" la posizione di scorrimento in angularJS w/Ui.ROUTER
- 15. come ricordare la posizione di scorrimento della pagina
- 16. come impostare la posizione di scorrimento su uiwebview
- 17. Come gestire la posizione di scorrimento su hashchange nell'applicazione Backbone.js?
- 18. posizione assoluta + Scorrimento
- 19. jQuery controlla se la posizione di supporto del browser: fissa
- 20. Posizione fissa - Scorrimento orizzontale
- 21. Posizione di scorrimento persa quando si nasconde div
- 22. Come posso monitorare la posizione di scorrimento durante lo scorrimento in Safari su iOS?
- 23. trovare la posizione di scorrimento massima di una pagina
- 24. WPF: ripristina la posizione di scorrimento del ListBox quando si modifica la sorgente articoli
- 25. Ottieni scorrimento Percentuale posizione
- 26. scorrere la pagina quindi in posizione certian elemento di scorrimento
- 27. C#: sincronizza la posizione di scorrimento di due RichTextBox?
- 28. Aggiorna la posizione di scorrimento di UITextView su iPhone
- 29. Selenio - Fare clic in una determinata posizione
- 30. recyclerview vista interna scorrimento influisce posizione di scorrimento