This script opens a login page, fills in username and password, submits the form, and checks if login succeeded by URL.
Selenium Python
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
# Setup driver (make sure chromedriver is in PATH)
driver = webdriver.Chrome()
# Open a simple login page
driver.get("https://example.com/login")
# Find username and password fields
username = driver.find_element(By.ID, "username")
password = driver.find_element(By.ID, "password")
# Enter credentials
username.send_keys("testuser")
password.send_keys("mypassword")
# Find the form and submit it
login_form = driver.find_element(By.ID, "loginForm")
login_form.submit()
# Wait to see result
time.sleep(3)
# Check if login was successful by URL change or element presenceif"dashboard"in driver.current_url:
print("Login successful")
else:
print("Login failed")
# Close browser
driver.quit()
OutputSuccess
Important Notes
Calling submit() on any element inside the form works, not just the form itself.
Make sure the form element is correctly located to avoid errors.
Sometimes clicking the submit button is preferred if the form has JavaScript handling submission.
Summary
Use submit() on a form element to send form data.
You can submit by locating the form or an input inside it.
Submitting forms helps test user input and server response.
Practice
(1/5)
1. What does the submit() method do in Selenium when testing forms?
easy
A. It sends the form data to the server by submitting the form.
B. It clears all input fields in the form.
C. It refreshes the current web page.
D. It closes the browser window.
Solution
Step 1: Understand the purpose of submit()
The submit() method is used to send the form data to the server by submitting the form element.
Step 2: Compare with other options
Clearing inputs, refreshing pages, or closing windows are not actions performed by submit().
Final Answer:
It sends the form data to the server by submitting the form. -> Option A
Quick Check:
submit() sends form data [OK]
Hint: Remember: submit() sends form data to server [OK]
Common Mistakes:
Confusing submit() with clear() method
Thinking submit() refreshes the page
Assuming submit() closes the browser
2. Which of the following is the correct way to submit a form using Selenium in Python?
easy
A. driver.submit(By.ID, 'form')
B. driver.submit_element(By.ID, 'form')
C. driver.find_element(By.ID, 'form').send_keys(Keys.ENTER)
D. driver.find_element(By.ID, 'form').submit()
Solution
Step 1: Identify correct Selenium syntax for submitting a form
The correct method is to locate the form element and call submit() on it, like driver.find_element(By.ID, 'form').submit().
Step 2: Check other options for errors
Options A and B use invalid method names. driver.find_element(By.ID, 'form').send_keys(Keys.ENTER) sends ENTER key but does not explicitly submit the form element.
Final Answer:
driver.find_element(By.ID, 'form').submit() -> Option D
Quick Check:
Use element.submit() to submit form [OK]
Hint: Use element.submit() after locating form [OK]
Common Mistakes:
Using driver.submit() which does not exist
Trying to submit with send_keys instead of submit()
Calling submit on driver instead of element
3. What will happen when the following Selenium Python code runs?
form = driver.find_element(By.NAME, 'loginForm')
form.submit()
medium
A. The form with name 'loginForm' will be submitted to the server.
B. An error will occur because submit() is not a valid method.
C. Nothing happens because submit() does not trigger form submission.
D. The browser will close automatically.
Solution
Step 1: Locate the form element by name
The code finds the form element with name 'loginForm' using find_element(By.NAME, 'loginForm').
Step 2: Call submit() on the form element
Calling submit() on the form element sends the form data to the server, triggering submission.
Final Answer:
The form with name 'loginForm' will be submitted to the server. -> Option A
Quick Check:
form.submit() submits form [OK]
Hint: submit() on form element sends data [OK]
Common Mistakes:
Thinking submit() is invalid method
Assuming submit() does nothing
Confusing submit() with browser close
4. You wrote this code to submit a form:
form = driver.find_element(By.ID, 'signupForm')
form.submit
Why does the form not submit when you run it?
medium
A. Because the form ID is incorrect.
B. Because submit() method was not called with parentheses.
C. Because submit() is not supported on forms.
D. Because the driver is not initialized.
Solution
Step 1: Check method call syntax
The code uses form.submit without parentheses, so the method is referenced but not executed.
Step 2: Understand effect of missing parentheses
Without parentheses, the form does not submit because the method is not called. Adding () calls the method.
Final Answer:
Because submit() method was not called with parentheses. -> Option B
Quick Check:
Call submit() with () to execute [OK]
Hint: Always use parentheses to call methods [OK]
Common Mistakes:
Forgetting parentheses after submit
Assuming submit is a property, not a method
Not verifying form locator correctness
5. You want to submit a form but only have access to an input field inside it. Which Selenium Python code correctly submits the form?
hard
A. form_element = driver.find_element(By.ID, 'form1')
form_element.submit()
B. input_element = driver.find_element(By.NAME, 'email')
driver.submit(input_element)
C. input_element = driver.find_element(By.NAME, 'email')
input_element.submit()
D. driver.find_element(By.NAME, 'email').send_keys(Keys.RETURN)
Solution
Step 1: Locate input inside the form
You can find an input element inside the form using find_element(By.NAME, 'email').
Step 2: Call submit() on the input element
Calling submit() on any element inside the form submits the entire form.
Final Answer:
input_element = driver.find_element(By.NAME, 'email')
input_element.submit() -> Option C
Quick Check:
submit() on input submits form [OK]
Hint: submit() on any form element submits the form [OK]
Common Mistakes:
Trying to call driver.submit() which does not exist
Using send_keys(Keys.RETURN) which may not submit form
Not calling submit() on an element
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.