How to get HTML source of page in Selenium Python?

Selenium Python – Get HTML source of page

In this tutorial, you will learn how to get the HTML source of a webpage using Selenium in Python.

To get the HTML source of a webpage in Selenium Python, load the URL, and read the page_source attribute of the driver object. The attribute returns the source of the HTML page as a string.

source = driver.page_source

Example

Consider the following HTML file.

index.html

<html>
 <body>
  <h2>Hello User!</h2>
  <div id="parent">
    <div id="child1">This is child 1.</div>
    <div id="child2">This is child 2.</div>
    <div id="child3">This is child 3.</div>
  </div>
 </body>
</html>
example input webpage

In the following program, we initialize a driver, then we load the index.html page running on our local server, or you may give the URL of the page you are interested in, and read the page_source attribute of the driver object. We shall store the returned value in a variable and print it to standard output.

Python Program

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service as ChromeService

# Setup chrome driver
service = ChromeService(executable_path=ChromeDriverManager().install())
driver = webdriver.Chrome(service=service)

# Navigate to the url
driver.get('http://127.0.0.1:5500/index.html')

# Get HTML source of webpage
source = driver.page_source
print(source)

# Close the driver
driver.quit()

Output

Selenium Python - Get HTML source of page

Summary

In this Python Selenium tutorial, we have given instructions on how to get the HTML source of a page, with example program.

Quiz on Selenium

Q1. What is Selenium Python used for?

Not answered

Q2. Which of the following is not a popular web driver used in Selenium Python?

Not answered

Q3. What is the method used to interact with web elements in Selenium Python?

Not answered

Q4. Which of the following is not a method to wait for a web element to load in Selenium Python?

Not answered

Q5. Which of the following is not a commonly used web element locator in Selenium Python?

Not answered