Sono nuovo nel Selenio. Sto usando Selenium WebDriver con Java. Sto usando eclipse come IDE. Ho scritto del codice per la pagina di accesso e viene eseguito correttamente. Ora voglio andare alla pagina desiderata dopo il login riuscito, ma voglio aspettare per qualche tempo prima di transitare in un'altra pagina. Come posso aspettare una pagina prima di caricare un'altra pagina?Come attendere una pagina prima di passare a un'altra pagina in Selenium WebDriver utilizzando Java?
Come attendere una pagina prima di passare a un'altra pagina in Selenium WebDriver utilizzando Java?
risposta
Per quanto ne so, ci sono 3 modi:
attesa implicito: (E 'applicabile a tutti gli elementi della pagina)
driver.manage().timeouts().implicitlyWait(A_GIVEN_NUMBER, TimeUnit.SECONDS);
attesa esplicita: (applicabili per un particolare elemento)
WebDriverWait.until(CONDITION_THAT_FINDS_AN_ELEMENT);
codice più specifica è la seguente:
WebDriverWait wait = new WebDriverWait(driver, 40);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("someid")));
Utilizzando Discussione:
Thread.sleep(NUMBER_OF_MILLIS);
Ho usato: Thread.sleep (NUMBER_OF_MILLIS); ora funziona. Grazie mabbas. –
WebDriverWait è meglio aspettare un elemento. In questo caso, è necessario identificare un elemento della pagina di destinazione. –
Cosa indica la figura 40 nella dichiarazione: WebDriverWait wait = new WebDriverWait (driver, 40); –
Usa classe WebDriverWait
Selenium explicit/implicit wait
È possibile attendere finché non viene visualizzato l'elemento previsto nella pagina successiva. :
WebDriver _driver = new WebDriver();
WebDriverWait _wait = new WebDriverWait(_driver, TimeSpan(0, 1, 0));
_wait.Until(d => d.FindElement(By.Id("Id_Your_UIElement"));
genera * l'eccezione per individuare l'eccezione dell'elemento * nel metodo 'Until'. –
Provare utilizzando implicitamente Attesa per 60 sec. come segue in Selenium WebDriver:
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);//wait for 60 sec.
Se è necessario attendere, renderlo 80, 90 e così via.
Per Selenio RC è possibile utilizzare il codice come di seguito:
selenium.waitForPageToLoad("60000");//wait for 60 sec.
Esso può essere fatto utilizzando la conversazione come di seguito:
Thread.sleep(NUMBER_OF_MILLIS);
Per esplicita attesa in WebDriver, identificare un elemento a carico pagina e scrivere il codice come riportato di seguito:
WebDriverWait wait = new WebDriverWait(driver, 40);//wait for 40 sec.
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("someid")));
Mi sconsiglio davvero di utilizzare Thread.sleep (NUMBER_ OF_MILLS). Non sarà stabile e ti colpiranno occasioni in cui il sonno non è abbastanza lungo.
Se si sta semplicemente aspettando il caricamento del DOM, un evento WebDriver che attiva il caricamento della pagina attenderà sempre il caricamento del DOM prima di restituire il controllo.
Tuttavia, se AJAX viene utilizzato per modificare l'HTML dopo DOM, ti consigliamo di utilizzare WebDriverWait e attendere fino a quando si verifica un evento noto (ad esempio, l'oggetto viene visualizzato in html, le modifiche di testo, ecc.)
Se si prende una cosa da questo post, si prega di smettere di usare Sleep!
Ho usato questo approccio. Cerca di capire quale elemento della pagina è l'ultimo a caricare. Prendendo il locator di quell'elemento e verificandone l'esistenza usando isDisplayed, sarai in grado di vedere quando l'intera pagina viene caricata
- 1. Oggetto pagina Selenium WebDriver
- 2. watir-webdriver attendere caricamento pagina
- 3. Come passare da un frame a Selenium WebDriver utilizzando Java
- 4. WebDriver - attendere elemento utilizzando Java
- 5. Ottenere l'URL della pagina corrente utilizzando Selenium WebDriver
- 6. Passare l'user-agent tramite webdriver in Selenium
- 7. WebRat + Selenium WebDriver: attendere il completamento di ajax
- 8. getPageSource() in Selenium WebDriver (a.k.a Selenium2) utilizzando Java
- 9. Qual è il pattern dell'oggetto pagina in Selenium WebDriver?
- 10. Come reindirizzare a una pagina html e passare le variabili a quella pagina in Java?
- 11. Come posso chiudere una finestra specifica utilizzando Selenium WebDriver con Java?
- 12. Come premere Ctrl + A per selezionare tutti i contenuti in una pagina selenio WebDriver utilizzando Java
- 13. Selenio - Come attendere che la pagina sia completamente carica
- 14. Schede di commutazione utilizzando Selenium WebDriver con Java
- 15. come ottenere l'URL corrente di una pagina Web in selenium-webdriver
- 16. Xamarin.Forms Passare a un'altra pagina utilizzando ViewModel
- 17. Come accedere a un iframe aggiunto dinamicamente utilizzando Selenium WebDriver?
- 18. Come gestire la nuova finestra in Selenium WebDriver utilizzando Java?
- 19. Gestione degli avvisi in Selenium WebDriver (selenium 2) con Java
- 20. Selenio WebDriver - Come impostare Pagina timeout di caricamento utilizzando C#
- 21. Impossibile trovare iframe in Selenium Webdriver (java)
- 22. Ottieni contenuti dell'intera pagina utilizzando Selenium
- 23. Java WebDriver attende il caricamento della pagina
- 24. Selenium WebDriver: Voglio sovrascrivere il valore nel campo invece di aggiungerlo a sendKeys utilizzando Java
- 25. Come possiamo ottenere il tempo esatto per caricare una pagina usando Selenium WebDriver?
- 26. Come passare i dati a un'altra pagina utilizzando jquery ajax
- 27. Utilizzo di Watir-webdriver come controllare l'URL di una pagina
- 28. Come utilizzare Firebug da Selenium WebDriver
- 29. Come eseguire ghostdriver con Selenium utilizzando java
- 30. Selenium Webdriver configurazione remota
'Thread.sleep()'? –
Che cosa stai usando? Selenium RC o selenio WebDriver? –