Check if a page is completely loaded or not in Selenium web driver in Python
Hello programmers, in this tutorial we will see how to check if a page is completely loaded using the Selenium web driver in Python.
Selenium is a tool used for the automation of web browsers. It is controlled via a program that can be coded in various different languages such as Python, JavaScript, PHP, etc.
Here we will see a demo on how to use the Selenium web driver to check for a page is completely loaded or not in Python.
Installation
Download the selenium python using the following command in your command prompt.
pip install selenium
Basic Usage
For checking for a page is completely loaded or not, we use the concept of waits. Check out the Selenium Wait in Python blog for more details.
An implicit wait is used to wait for a certain time for a particular element that is not available immediately whereas the explicit wait is used to meet a certain condition to occur.
For checking the page is completely loaded, we use explicit wait conditions to check for it.
Before running the code, we need to install the chrome driver and executable file path location to the system path.
Checking if a page is completely loaded or not using Selenium in Python
Given below is the illustration of using the explicit wait function to check for the load of the page.
#Importing necessary libraries from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC #wait for page load function def seleniumPageLoad(): #creating a webdriver object driver = webdriver.Chrome(executable_path='C:/path/to/dir/chromedriver.exe') driver.maximize_window() #maximize window size driver.get("https://www.codespeedy.com/") #opening the url try: ele = WebDriverWait(driver, 10).until( #using explicit wait for 10 seconds EC.presence_of_element_located((By.CSS_SELECTOR, "h2")) #checking for the element with 'h2'as its CSS ) print("Page is loaded within 10 seconds.") except: print("Timeout Exception: Page did not load within 10 seconds.") #driver if __name__ == "__main__": seleniumPageLoad() #call the function
Output
Page is loaded within 10 seconds.
Explanation
Within the function, we use the ‘.get()’ method to open the URL and then we check for a particular element presence using the explicit wait condition within the ‘try’ block. If the page loads within 10 seconds of the given time, the ‘page is loaded’ statement is printed, else the timeout exception error occurs.
Leave a Reply