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)?
Best Answer
You can read the
innerHTML
attribute to get the source of the content of the element orouterHTML
for the source with the current element.Python:
Java:
C#:
Ruby:
JavaScript:
PHP:
It was tested and worked with the
ChromeDriver
.