Open In App

screenshot_as_png element method – Selenium Python

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 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_png

Example –




<input type="text" name="passwd" id="passwd-id" />

To find an element one needs to use one of the locating strategies, For example,

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
  
# get element 
element = driver.find_element_by_id("gsc-i-id2")
  
# get rect
print(element.screenshot_as_png)

Output-

Terminal Output –


Article Tags :