# Get HTML source of WebElement in Selenium WebDriver using Python

## The Question :

522 people think this question is useful

I’m using the Python bindings to run Selenium WebDriver:

from selenium import webdriver
wd = webdriver.Firefox()



I know I can grab a webelement like so:

elem = wd.find_element_by_css_selector('#my-id')



And I know I can get the full page source with…

wd.page_source



But is there a way to get the “element source”?

elem.source   # <-- returns the HTML as a string



The Selenium WebDriver documentation for Python are basically non-existent and I don’t see anything in the code that seems to enable that functionality.

What is the best way to access the HTML of an element (and its children)?

• You also could just parse all the wd.page_source with beautifulsoup

813 people think this answer is useful

You can read the innerHTML attribute to get the source of the content of the element or outerHTML for the source with the current element.

Python:

element.get_attribute('innerHTML')



Java:

elem.getAttribute("innerHTML");



C#:

element.GetAttribute("innerHTML");



Ruby:

element.attribute("innerHTML")



JavaScript:

element.getAttribute('innerHTML');



PHP: