This captures the element with class 'site-logo' and saves it as 'logo.png'.
Selenium Python
logo = driver.find_element(By.CSS_SELECTOR, '.site-logo')
logo.screenshot('logo.png')
Sample Program
This script opens example.com, finds the main heading <h1>, and saves its screenshot as 'heading.png'. It prints if the screenshot was saved successfully (True/False).
Selenium Python
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
# Setup driverwith webdriver.Chrome() as driver:
driver.get('https://example.com')
time.sleep(2) # wait for page to load# Find element
heading = driver.find_element(By.TAG_NAME, 'h1')
# Take screenshot of the heading element
success = heading.screenshot('heading.png')
print(f'Screenshot saved: {success}')
OutputSuccess
Important Notes
Make sure the element is visible on the screen before taking a screenshot.
Use waits instead of fixed sleep for better reliability.
The screenshot method returns True if the file was saved successfully.
Summary
Element screenshot captures only one part of the page, not the whole screen.
Use element.screenshot('file.png') after locating the element.
It helps catch visual issues in specific page parts easily.
Practice
(1/5)
1. What does the element.screenshot('file.png') method do in Selenium Python?
easy
A. Captures a screenshot of only the specific web element.
B. Captures a screenshot of the entire browser window.
C. Saves the HTML source of the element to a file.
D. Highlights the element on the page without saving an image.
Solution
Step 1: Understand the method purpose
The element.screenshot() method captures an image of the specific element, not the whole page.
Step 2: Compare with other screenshot methods
driver.save_screenshot() captures the full page, but element.screenshot() targets only one element.
Final Answer:
Captures a screenshot of only the specific web element. -> Option A
Quick Check:
element.screenshot() = element image capture [OK]
Hint: Remember: element.screenshot saves only that element's image [OK]
Common Mistakes:
Confusing element screenshot with full page screenshot
Thinking it saves HTML instead of image
Using driver.screenshot instead of element.screenshot
2. Which of the following is the correct syntax to save a screenshot of a web element stored in variable button as 'button.png'?
easy
A. driver.screenshot('button.png')
B. button.save_screenshot('button.png')
C. button.screenshot('button.png')
D. button.capture('button.png')
Solution
Step 1: Identify the correct method for element screenshot
The method to save an element's screenshot is element.screenshot(filename).
Step 2: Check the variable and filename usage
Since the element is stored in button, calling button.screenshot('button.png') is correct syntax.
Assuming screenshot method is invalid for elements
Thinking it saves full page instead of element
Ignoring the print statement output
4. You wrote this code but no screenshot file is created. What is the likely error?
element = driver.find_element(By.CLASS_NAME, 'submit-btn')
element.screenshot()
medium
A. File path is invalid but filename is provided.
B. Incorrect locator type used for find_element.
C. screenshot() method does not exist for elements.
D. Missing filename argument in screenshot() method.
Solution
Step 1: Check screenshot method usage
The screenshot() method requires a filename argument to save the image.
Step 2: Identify missing filename
Since no filename is given, no file is created, causing the issue.
Final Answer:
Missing filename argument in screenshot() method. -> Option D
Quick Check:
screenshot() needs filename to save file [OK]
Hint: Always provide filename in element.screenshot('file.png') [OK]
Common Mistakes:
Calling screenshot() without filename argument
Assuming locator type is wrong without checking
Thinking screenshot() method is invalid for elements
5. You want to verify visually that a specific button is rendered correctly on different browsers by saving its screenshot. Which approach is best to automate this using Selenium Python?
hard
A. Locate the button element and use element.screenshot('button.png') to save its image for comparison.
B. Use driver.save_screenshot('button.png') to capture the whole page and crop manually later.
C. Extract the button's HTML and compare it as text across browsers.
D. Use JavaScript to highlight the button but do not save any image.
Solution
Step 1: Identify the goal - visual verification of a button
To check how the button looks, capturing its image directly is best.
Step 2: Choose the method that captures only the button
element.screenshot() saves the button's image exactly, making comparison easy and automated.
Final Answer:
Locate the button element and use element.screenshot('button.png') to save its image for comparison. -> Option A
Quick Check:
element.screenshot() = best for visual element checks [OK]
Hint: Use element.screenshot() for focused visual testing [OK]
Common Mistakes:
Capturing full page screenshot and cropping manually
Comparing HTML text instead of visual appearance
Not saving any image for visual verification
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.