Bird
Raised Fist0
Selenium Pythontesting~20 mins

Full page screenshot in Selenium Python - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Full Page Screenshot Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this Selenium Python code snippet?
Consider the following code that attempts to take a full page screenshot using Selenium in Python. What will be the result of running this code?
Selenium Python
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument('--headless=new')
service = Service()
driver = webdriver.Chrome(service=service, options=options)
driver.get('https://example.com')

# Attempt to take full page screenshot
result = driver.save_screenshot('page.png')
driver.quit()
print(result)
AFalse (screenshot not saved due to missing permissions)
BTrue (screenshot saved as 'page.png', but only visible viewport captured)
CThrows an exception because save_screenshot does not exist
DTrue (full page screenshot saved as 'page.png')
Attempts:
2 left
💡 Hint
The save_screenshot method captures only the visible part of the page by default.
🧠 Conceptual
intermediate
2:00remaining
Which Selenium Python approach captures a full page screenshot?
You want to capture a full page screenshot of a webpage using Selenium with Python. Which approach below will correctly capture the entire page, not just the visible viewport?
AUse JavaScript to get page height, resize window, then save_screenshot
BUse driver.execute_script('window.scrollTo(0,0)') then save_screenshot
CUse driver.get_screenshot_as_base64() only
DUse driver.save_screenshot('file.png') directly
Attempts:
2 left
💡 Hint
Think about how to make the browser window tall enough to show the entire page.
🔧 Debug
advanced
2:00remaining
Why does this full page screenshot code fail with an error?
This Selenium Python code tries to take a full page screenshot but raises an error. What is the cause?
Selenium Python
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

service = Service()
driver = webdriver.Chrome(service=service)
driver.get('https://example.com')

height = driver.execute_script('return document.body.scrollHeight')
driver.set_window_size(1200, height)
screenshot = driver.get_screenshot_as_file('fullpage.png')
driver.quit()
Aexecute_script returns None causing set_window_size to fail
Bset_window_size is not a valid method on driver
Cget_screenshot_as_file requires a full file path, not just filename
DThe window height exceeds maximum allowed size causing error
Attempts:
2 left
💡 Hint
Browsers limit window size; very tall sizes cause errors.
❓ framework
advanced
2:00remaining
Which Selenium WebDriver method supports full page screenshots in recent versions?
Recent Selenium WebDriver versions introduced a method to capture full page screenshots directly. Which method is it?
Adriver.get_full_page_screenshot_as_file('file.png')
Bdriver.full_page_screenshot()
Cdriver.get_full_page_screenshot_as_base64()
Ddriver.get_screenshot_as_file('file.png')
Attempts:
2 left
💡 Hint
Look for a method returning a base64 string with 'full_page' in its name.
❓ assertion
expert
2:00remaining
Which assertion correctly verifies a full page screenshot file exists and is not empty?
After taking a full page screenshot saved as 'fullpage.png', which assertion best confirms the file exists and has content?
Aassert os.path.exists('fullpage.png') and os.path.getsize('fullpage.png') > 0
Bassert os.path.isfile('fullpage.png') == False
Cassert os.path.getsize('fullpage.png') == 0
Dassert os.path.exists('fullpage.png') and os.path.getsize('fullpage.png') == 0
Attempts:
2 left
💡 Hint
File must exist and have size greater than zero.

Practice

(1/5)
1. What is the main advantage of taking a full page screenshot in Selenium?
easy
A. It speeds up the test execution
B. It only captures the visible part of the webpage
C. It captures the entire webpage, including parts not visible on screen
D. It automatically scrolls the page during testing

Solution

  1. Step 1: Understand what a full page screenshot means

    A full page screenshot captures the entire webpage, not just the visible part on the screen.
  2. Step 2: Compare options with this definition

    Only It captures the entire webpage, including parts not visible on screen correctly states this advantage. Options B, C, and D describe other unrelated behaviors.
  3. Final Answer:

    It captures the entire webpage, including parts not visible on screen -> Option C
  4. Quick Check:

    Full page screenshot = entire page capture [OK]
Hint: Full page means entire webpage, not just visible part [OK]
Common Mistakes:
  • Confusing full page with visible viewport only
  • Thinking it speeds up tests automatically
  • Assuming it scrolls the page during capture
2. Which Selenium Python method is used to save a full page screenshot in Firefox?
easy
A. driver.get_screenshot_as_file('file.png')
B. driver.save_full_page_screenshot('file.png')
C. driver.save_screenshot('file.png')
D. driver.take_full_screenshot('file.png')

Solution

  1. Step 1: Identify the correct method for full page screenshot in Firefox

    Firefox does not have a built-in method named save_full_page_screenshot. The standard method to save a screenshot is get_screenshot_as_file, which captures the visible viewport.
  2. Step 2: Check other options for correctness

    driver.save_full_page_screenshot('file.png') is invalid as save_full_page_screenshot is not a standard Selenium method. driver.save_screenshot('file.png') saves visible viewport screenshot. driver.take_full_screenshot('file.png') is not a valid method.
  3. Final Answer:

    driver.get_screenshot_as_file('file.png') -> Option A
  4. Quick Check:

    Standard screenshot method = get_screenshot_as_file [OK]
Hint: Use get_screenshot_as_file to save screenshot [OK]
Common Mistakes:
  • Using non-existent save_full_page_screenshot method
  • Confusing save_screenshot with full page capture
  • Trying invalid methods like take_full_screenshot
3. Given this code snippet, what will be the result?
driver.get('https://example.com')
driver.save_full_page_screenshot('page.png')
print('Screenshot saved')
medium
A. Runtime error because get_full_page_screenshot_as_file is unsupported
B. Screenshot saved and full page screenshot saved as 'page.png'
C. Only visible part screenshot saved as 'page.png'
D. SyntaxError due to incorrect method name

Solution

  1. Step 1: Analyze the method usage

    The method save_full_page_screenshot is not a valid Selenium WebDriver method and will cause a SyntaxError or AttributeError.
  2. Step 2: Check the print statement

    The print statement will not execute because the previous line causes an error.
  3. Final Answer:

    SyntaxError due to incorrect method name -> Option D
  4. Quick Check:

    Invalid method call causes error [OK]
Hint: Invalid method names cause errors [OK]
Common Mistakes:
  • Assuming method is supported causing success
  • Confusing full page with visible screenshot
  • Thinking method name is correct syntax
4. You wrote this code but get a blank screenshot file:
driver.get('https://example.com')
driver.save_screenshot('screen.png')
What is the likely cause?
medium
A. Page did not fully load before screenshot
B. save_screenshot does not save files
C. Method get_full_page_screenshot_as_file is required instead
D. Screenshot file path is invalid

Solution

  1. Step 1: Understand why screenshot is blank

    If the page is not fully loaded, the screenshot may capture a blank or incomplete page.
  2. Step 2: Evaluate other options

    save_screenshot does save files. Method get_full_page_screenshot_as_file is unrelated to blank screenshot issue. Invalid file path would cause an error, not a blank file.
  3. Final Answer:

    Page did not fully load before screenshot -> Option A
  4. Quick Check:

    Wait for page load before screenshot [OK]
Hint: Always wait for page load before screenshot [OK]
Common Mistakes:
  • Assuming save_screenshot never saves files
  • Confusing full page screenshot with blank image issue
  • Ignoring page load timing problems
5. How can you ensure a clean full page screenshot in headless Firefox using Selenium Python?
hard
A. Use save_screenshot immediately after driver.get() without waits
B. Scroll manually and take multiple viewport screenshots
C. Use headless mode, wait for page load, then call save_full_page_screenshot
D. Use driver.execute_script to hide elements before screenshot

Solution

  1. Step 1: Understand headless mode limitations

    Headless Firefox does not support a built-in full page screenshot method.
  2. Step 2: Use manual scrolling and multiple viewport screenshots

    To capture the full page, scroll manually and stitch multiple viewport screenshots.
  3. Final Answer:

    Scroll manually and take multiple viewport screenshots -> Option B
  4. Quick Check:

    Manual scroll + multiple screenshots = full page capture [OK]
Hint: Manual scrolling needed for full page in headless Firefox [OK]
Common Mistakes:
  • Assuming save_full_page_screenshot exists in headless mode
  • Taking screenshot immediately without waiting
  • Hiding elements unnecessarily before capture
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard