Bird
Raised Fist0
Selenium Pythontesting~20 mins

Closing browser (close vs quit) in Selenium Python - Practice Questions

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Browser Closing Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What happens after calling driver.close() with multiple tabs?

Consider a Selenium WebDriver session with 3 browser tabs open. What is the state of the browser after driver.close() is called once?

Selenium Python
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By

service = Service()
driver = webdriver.Chrome(service=service)
driver.get('https://example.com')
driver.execute_script("window.open('https://example.org', '_blank');")
driver.execute_script("window.open('https://example.net', '_blank');")

# Current tabs: 3

driver.close()

# What happens next?
AAn exception is thrown because close() cannot be called with multiple tabs open.
BAll browser tabs are closed and the WebDriver session ends.
CThe browser window is minimized but all tabs remain open.
DOnly the current tab is closed; the other two tabs remain open and the WebDriver session continues.
Attempts:
2 left
💡 Hint

Think about what close() does compared to quit().

❓ assertion
intermediate
1:30remaining
Which assertion correctly verifies the browser is closed after driver.quit()?

After calling driver.quit(), which assertion correctly checks that the browser session is closed?

Aassert driver.session_id is None
Bassert driver.current_url == ''
Cassert driver.title == ''
Dassert driver.window_handles == []
Attempts:
2 left
💡 Hint

Check what happens to the session ID after quitting.

🔧 Debug
advanced
2:00remaining
Why does calling driver.close() twice cause an error?

Given this code snippet:

driver.get('https://example.com')
driver.close()
driver.close()

Why does the second driver.close() call raise an exception?

AThe second close() call raises a WebDriverException because the driver object is None.
BThe browser window is already closed after the first call, so the second call tries to close a non-existent window causing a NoSuchWindowException.
CThe second close() call causes a TimeoutException because the browser is busy closing.
DCalling close() twice is allowed and does not raise any exception.
Attempts:
2 left
💡 Hint

Think about what happens to the browser window after the first close.

🧠 Conceptual
advanced
1:30remaining
Difference between driver.close() and driver.quit() in Selenium

Which statement best describes the difference between driver.close() and driver.quit()?

A<code>driver.close()</code> closes the current browser window or tab, while <code>driver.quit()</code> closes all browser windows and ends the WebDriver session.
B<code>driver.close()</code> ends the WebDriver session, while <code>driver.quit()</code> only closes the current tab.
C<code>driver.close()</code> minimizes the browser window, and <code>driver.quit()</code> closes the current tab.
D<code>driver.close()</code> refreshes the current page, and <code>driver.quit()</code> closes the browser window.
Attempts:
2 left
💡 Hint

Think about session lifecycle and window management.

❓ framework
expert
2:30remaining
Best practice to ensure browser closes after test failure in Selenium with pytest

In a pytest test using Selenium WebDriver, which approach best ensures the browser closes even if the test fails?

ACall <code>driver.quit()</code> only inside the test function after assertions.
BCall <code>driver.close()</code> at the end of the test function only.
CUse a pytest fixture with <code>yield</code> to initialize the driver and call <code>driver.quit()</code> after the test, regardless of outcome.
DRely on the browser to close automatically when the Python script ends.
Attempts:
2 left
💡 Hint

Think about pytest fixtures and cleanup behavior.

Practice

(1/5)
1. What does the close() method do in Selenium WebDriver?
easy
A. Closes all browser windows and ends the WebDriver session
B. Restarts the browser session
C. Keeps the browser open but clears cookies
D. Closes the current browser window or tab only

Solution

  1. Step 1: Understand the purpose of close()

    The close() method is designed to close only the current browser window or tab that the WebDriver is controlling.
  2. Step 2: Compare with quit()

    Unlike quit(), which closes all windows and ends the session, close() affects only one window or tab.
  3. Final Answer:

    Closes the current browser window or tab only -> Option D
  4. Quick Check:

    close() closes one window [OK]
Hint: Close closes one tab/window; quit closes all [OK]
Common Mistakes:
  • Confusing close() with quit()
  • Thinking close() ends the WebDriver session
  • Assuming close() clears cookies
2. Which of the following is the correct syntax to close all browser windows and end the WebDriver session in Selenium Python?
easy
A. driver.quit()
B. driver.stop()
C. driver.exit()
D. driver.close()

Solution

  1. Step 1: Identify the method to end WebDriver session

    The method quit() is used to close all browser windows and end the WebDriver session properly.
  2. Step 2: Verify syntax correctness

    driver.quit() is the correct syntax; other options like exit() or stop() do not exist in Selenium WebDriver API.
  3. Final Answer:

    driver.quit() -> Option A
  4. Quick Check:

    Use quit() to close all windows [OK]
Hint: Use driver.quit() to close all windows and end session [OK]
Common Mistakes:
  • Using driver.close() to end session
  • Using non-existent methods like exit() or stop()
  • Missing parentheses in method call
3. Consider the following Selenium Python code snippet:
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://example.com')
driver.close()
print(driver.title)

What will happen when this code runs?
medium
A. Prints the page title successfully
B. Raises an error because the browser window is closed before accessing title
C. Prints an empty string
D. The browser stays open and prints the title

Solution

  1. Step 1: Analyze the effect of driver.close()

    The close() method closes the current browser window, so after this call, the window is no longer available.
  2. Step 2: Accessing driver.title after closing window

    Trying to get the title after closing the window causes a WebDriverException because the session still exists but the window is closed.
  3. Final Answer:

    Raises an error because the browser window is closed before accessing title -> Option B
  4. Quick Check:

    Accessing title after close() causes error [OK]
Hint: Don't access page after close() without reopening [OK]
Common Mistakes:
  • Assuming title prints after close()
  • Thinking close() ends session (it doesn't)
  • Ignoring exceptions after window close
4. You have this Selenium Python code:
driver = webdriver.Firefox()
driver.get('https://example.com')
driver.close()
driver.quit()

What is the problem with this code?
medium
A. Calling close() before quit() is redundant but safe
B. close() should be replaced with quit() only
C. Calling quit() after close() causes an error
D. The code will open two browser windows

Solution

  1. Step 1: Understand the effect of close() and quit()

    close() closes the current window; quit() closes all windows and ends the session.
  2. Step 2: Analyze calling close() before quit()

    Calling close() first closes one window, then quit() closes any remaining windows and ends the session. This is redundant but does not cause errors.
  3. Final Answer:

    Calling close() before quit() is redundant but safe -> Option A
  4. Quick Check:

    close() then quit() is safe but redundant [OK]
Hint: quit() alone suffices; close() before quit() is safe but extra [OK]
Common Mistakes:
  • Thinking quit() after close() causes error
  • Believing close() replaces quit()
  • Expecting multiple windows opened
5. You want to write a Selenium test that opens two tabs, performs actions on both, then closes only the second tab while keeping the first tab open. Which method should you use to close the second tab without ending the WebDriver session?
hard
A. driver.stop()
B. driver.quit()
C. driver.close()
D. driver.exit()

Solution

  1. Step 1: Understand the requirement to close only one tab

    To close only the second tab and keep the first open, you must close the current window or tab without ending the session.
  2. Step 2: Choose the correct method

    close() closes the current window or tab only, while quit() closes all windows and ends the session. Methods stop() and exit() do not exist in Selenium.
  3. Final Answer:

    driver.close() -> Option C
  4. Quick Check:

    Use close() to close one tab, quit() closes all [OK]
Hint: Use close() to close one tab, quit() closes all tabs [OK]
Common Mistakes:
  • Using quit() which closes all tabs
  • Using non-existent methods like stop() or exit()
  • Confusing close() with quit()
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