We close the browser to end the test and free up computer resources. Knowing the difference between close() and quit() helps avoid errors and keeps tests clean.
Closing browser (close vs quit) in Selenium Python
driver.close() driver.quit()
driver.close() closes the current browser window or tab.
driver.quit() closes all browser windows and ends the WebDriver session.
driver.close()
driver.quit()
driver.get('https://example.com')
driver.close()driver.get('https://example.com')
driver.quit()This script shows how close() closes only the current window, while quit() ends the whole browser session. After closing or quitting, trying to use the driver causes an error.
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') # Run browser in headless mode for testing service = Service() driver = webdriver.Chrome(service=service, options=options) # Open a website driver.get('https://example.com') print('Title before close:', driver.title) # Close current window driver.close() # Trying to get title after close will raise an error try: print('Title after close:', driver.title) except Exception as e: print('Error after close:', e) # Start new driver session driver = webdriver.Chrome(service=service, options=options) driver.get('https://example.com') print('Title before quit:', driver.title) # Quit entire browser session driver.quit() # Trying to get title after quit will raise an error try: print('Title after quit:', driver.title) except Exception as e: print('Error after quit:', e)
Use close() when you have multiple tabs and want to close one.
Use quit() to clean up everything after your test finishes.
After calling close() or quit(), the WebDriver session may become invalid.
close() closes the current browser window or tab.
quit() closes all browser windows and ends the WebDriver session.
Use the right method to avoid errors and keep tests clean.
Practice
close() method do in Selenium WebDriver?Solution
Step 1: Understand the purpose of
Theclose()close()method is designed to close only the current browser window or tab that the WebDriver is controlling.Step 2: Compare with
Unlikequit()quit(), which closes all windows and ends the session,close()affects only one window or tab.Final Answer:
Closes the current browser window or tab only -> Option DQuick Check:
close()closes one window [OK]
- Confusing close() with quit()
- Thinking close() ends the WebDriver session
- Assuming close() clears cookies
Solution
Step 1: Identify the method to end WebDriver session
The methodquit()is used to close all browser windows and end the WebDriver session properly.Step 2: Verify syntax correctness
driver.quit()is the correct syntax; other options likeexit()orstop()do not exist in Selenium WebDriver API.Final Answer:
driver.quit() -> Option AQuick Check:
Usequit()to close all windows [OK]
- Using driver.close() to end session
- Using non-existent methods like exit() or stop()
- Missing parentheses in method call
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://example.com')
driver.close()
print(driver.title)What will happen when this code runs?
Solution
Step 1: Analyze the effect of
Thedriver.close()close()method closes the current browser window, so after this call, the window is no longer available.Step 2: Accessing
Trying to get the title after closing the window causes a WebDriverException because the session still exists but the window is closed.driver.titleafter closing windowFinal Answer:
Raises an error because the browser window is closed before accessing title -> Option BQuick Check:
Accessing title after close() causes error [OK]
- Assuming title prints after close()
- Thinking close() ends session (it doesn't)
- Ignoring exceptions after window close
driver = webdriver.Firefox()
driver.get('https://example.com')
driver.close()
driver.quit()What is the problem with this code?
Solution
Step 1: Understand the effect of close() and quit()
close()closes the current window;quit()closes all windows and ends the session.Step 2: Analyze calling close() before quit()
Callingclose()first closes one window, thenquit()closes any remaining windows and ends the session. This is redundant but does not cause errors.Final Answer:
Calling close() before quit() is redundant but safe -> Option AQuick Check:
close() then quit() is safe but redundant [OK]
- Thinking quit() after close() causes error
- Believing close() replaces quit()
- Expecting multiple windows opened
Solution
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.Step 2: Choose the correct method
close()closes the current window or tab only, whilequit()closes all windows and ends the session. Methodsstop()andexit()do not exist in Selenium.Final Answer:
driver.close() -> Option CQuick Check:
Use close() to close one tab, quit() closes all [OK]
- Using quit() which closes all tabs
- Using non-existent methods like stop() or exit()
- Confusing close() with quit()
Ready to prove it?
Pass the test and this pattern moves unknown
