Selenium’s Python Module is built to perform automated testing with Python. Selenium Python bindings provides a simple API to write functional/acceptance tests using Selenium WebDriver. To open a webpage using Selenium Python, checkout - Navigating links using get method – Selenium Python. Just being able to go to places isn’t terribly useful. What we’d really like to do is to interact with the pages, or, more specifically, the HTML elements within a page. There are multiple strategies to find an element using Selenium, checkout - Locating Strategies
This article revolves around how to use
html
To find an element one needs to use one of the locating strategies, For example,
Python3
screenshot_as_png method in Selenium. screenshot_as_png method is used to gets the screenshot of the current element as binary data.
Syntax -
element.screenshot_as_pngExample -
<input type="text" name="passwd" id="passwd-id" />
element = driver.find_element_by_id("passwd-id")
element = driver.find_element_by_name("passwd")
element = driver.find_element_by_xpath("//input[@id='passwd-id']")
Also, to find multiple elements, we can use -
elements = driver.find_elements_by_name("passwd")
Now one can get screenshot of this element with binary data -
element.screenshot_as_png
How to use screenshot_as_png element method in Selenium Python ?
Let's try to get element and its screenshot at geeksforgeeks using screenshot_as_png method. Program -# import webdriver
from selenium import webdriver
# create webdriver object
driver = webdriver.Firefox()
# get geeksforgeeks.org
driver.get("https://www.geeksforgeeks.org/")
# get element
element = driver.find_element_by_id("gsc-i-id2")
# get rect
print(element.screenshot_as_png)
Output-
Terminal Output -

Terminal Output -
