How can one capture a screenshot using Selenium in Python?
# Import necessary libraries
import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
# Create a new instance of the Chrome WebDriver
driver = webdriver.Chrome()
# Open the specified website
driver.get("https://www.saucedemo.com/")
# Maximize the browser window
driver.maximize_window()
# Set an implicit wait of 3 seconds to allow elements to be found
driver.implicitly_wait(3)
# Pause the script execution for 3 seconds (using time.sleep)
time.sleep(3)
# Locate the username field by ID and enter "standard_user"
driver.find_element(By.ID, "user-name").send_keys("standard_user")
# Locate the password field by ID and enter "secret_sauce"
driver.find_element(By.ID, "password").send_keys("secret_sauce")
# Click the login button using XPath
driver.find_element(By.XPATH, "//input[@id='login-button']").click()
# Pause the script execution for 5 seconds (waiting for the page to load or perform actions)
time.sleep(5)
# Locate the specific element to capture by CSS selector
element_to_capture = driver.find_element(By.CSS_SELECTOR, ".inventory_item:nth-child(6)")
# Take a screenshot of the identified element and save it as screenshot.png"
element_to_capture.screenshot("screenshot.png")
# Alternatively, take a screenshot of the entire page and save it as "screenshot.png"
driver.save_screenshot("screenshot.png")
# Close the browser window
driver.quit()
Comments