0
0
Selenium Pythontesting~20 mins

Confirmation alert handling in Selenium Python - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Confirmation Alert 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 handling a confirmation alert?
Consider the following Selenium Python code snippet that clicks a button to trigger a confirmation alert, then accepts it. What will be printed?
Selenium Python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# Assume driver is already initialized and navigated to the page
button = driver.find_element(By.ID, 'confirmBtn')
button.click()

alert = WebDriverWait(driver, 5).until(EC.alert_is_present())
alert.accept()
print('Alert accepted')
AUnhandledAlertException
BAlert accepted
CNoSuchElementException
DTimeoutException
Attempts:
2 left
💡 Hint
Think about what happens after the alert is accepted and the print statement runs.
assertion
intermediate
1:30remaining
Which assertion correctly verifies the alert text before accepting it?
You want to check that the confirmation alert text is exactly 'Are you sure?' before accepting it. Which assertion is correct?
Selenium Python
alert = driver.switch_to.alert
alert_text = alert.text
# Which assertion below is correct?
Aassert alert_text == 'Are you sure?'
Bassert alert_text.equals('Are you sure?')
Cassert alert.text = 'Are you sure?'
Dassert alert_text != 'Are you sure?'
Attempts:
2 left
💡 Hint
Remember how to compare strings in Python.
locator
advanced
2:00remaining
Which locator is best to find a button that triggers a confirmation alert?
You want to locate a button that triggers a confirmation alert. The button has the text 'Delete' and a class 'btn-danger'. Which locator is best practice?
Adriver.find_element(By.ID, 'Delete')
Bdriver.find_element(By.CSS_SELECTOR, "button.btn-danger:contains('Delete')")
Cdriver.find_element(By.XPATH, "//button[text()='Delete' and contains(@class, 'btn-danger')]")
Ddriver.find_element(By.CLASS_NAME, 'btn-danger')
Attempts:
2 left
💡 Hint
CSS selectors do not support :contains pseudo-class in Selenium.
🔧 Debug
advanced
2:00remaining
Why does this Selenium code raise UnexpectedAlertPresentException?
Review the code below. It tries to click a button and then get page title. Why does it raise UnexpectedAlertPresentException?
Selenium Python
button = driver.find_element(By.ID, 'confirmBtn')
button.click()
title = driver.title
print(title)
ABecause the button ID is incorrect
BBecause the click() method is asynchronous and needs wait
CBecause driver.title is not a valid property
DBecause the confirmation alert is not handled before accessing driver.title
Attempts:
2 left
💡 Hint
Think about what happens when an alert is present and you try to interact with the page.
framework
expert
2:30remaining
In a pytest Selenium test, how to properly handle confirmation alerts to avoid flaky tests?
You write pytest tests using Selenium. Confirmation alerts appear unpredictably after clicking buttons. Which approach best avoids flaky tests?
AUse explicit waits for alert presence and accept alerts before continuing test steps
BIgnore alerts and catch exceptions when they appear
CUse time.sleep() after clicks to wait for alerts to appear
DDisable alerts in browser settings before tests
Attempts:
2 left
💡 Hint
Think about reliable ways to detect alerts instead of guessing with fixed delays.