
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Wait for Complex Page with JavaScript to Load Using Selenium
We can wait for a complex page with JavaScript to load with Selenium. After the page is loaded, we can invoke the Javascript method document.readyState and wait till complete is returned.
Syntax
JavascriptExecutor js = (JavascriptExecutor)driver; js.executeScript("return document.readyState").toString().equals("complete");
Next, we can verify if the page is ready for any action, by using the explicit wait concept in synchronization. We can wait for the expected condition presenceOfElementLocated for the element. We shall implement the entire verification within the try catch block.
Example
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import org.openqa.selenium.JavascriptExecutor; public class PageLoadWt{ public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("https://www.tutorialspoint.com/index.htm"); // Javascript Executor to check page ready state JavascriptExecutor j = (JavascriptExecutor)driver; if (j.executeScript ("return document.readyState").toString().equals("complete")){ System.out.println("Page loaded properly."); } //expected condition presenceOfElementLocated WebDriverWait wt = new WebDriverWait(driver,3); try { wt.until(ExpectedConditions .presenceOfElementLocated (By.id("gsc−i−id1"))); // identify element driver.findElement (By.id("gsc−i−id1")).sendKeys("Selenium"); } catch(Exception e) { System.out.println("Element not located"); } driver.quit(); } }
Output
Advertisements