Check if an input text field exists in Selenium - Python Examples
Selenium Python - Check if an input text field exists
In this tutorial, you will learn how to check if an input text field exists in Selenium Python.
To check if an input text field exists in Selenium Python, you can use try-except block around the statement to find the input text field element. If the element is not present, find_element() method throws NoSuchElementException. If the exception is not thrown, then we can know that the element exists, otherwise not.
The following is a simple code snippet to check if the input text field whose name attribute is 'dummy'
exists in the webpage.
try:
input_text_1 = driver.find_element(By.XPATH, "//input[@name='dummy']")
print("Input text field exists.")
except NoSuchElementException:
print("Input text field does not exist.")
Examples
In this example, we shall consider loading the webpage at URL: /tmp/selenium/index-18.html. The contents of this HTML file is given below. The webpage contains a couple of input text fields.
<html>
<body>
<h3>My Form</h3>
<form action="">
<label for="firstname">First name:</label>
<input type="text" id="firstname" name="firstname"><br><br>
<label for="lastname">Last name:</label>
<input type="text" id="lastname" name="lastname"><br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
1. Check if input text field with name="firstname" exists
In the following program, we initialize a Chrome webdriver, navigate to specified URL, check if the input text field exists whose name attribute is 'firstname'
, and print the result to standard output.
Python Program
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException
# Setup chrome driver
driver = webdriver.Chrome(service=ChromeService(executable_path=ChromeDriverManager().install()))
# Navigate to the url
driver.get('/tmp/selenium/index-18.html')
# Check if value in input text is empty
try:
input_text_1 = driver.find_element(By.XPATH, "//input[@name='firstname']")
print("Input text field exists.")
except NoSuchElementException:
print("Input text field does not exist.")
# Close the driver
driver.quit()
Output
Input text field exists.
Reference Tutorials
2. Check if input text field with name="dummy" exists
In the following program, we initialize a Chrome webdriver, load the specified URL, check if the input text field exists whose name attribute is 'dummy'
, and print the result to standard output.
Python Program
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException
# Setup chrome driver
driver = webdriver.Chrome(service=ChromeService(executable_path=ChromeDriverManager().install()))
# Navigate to the url
driver.get('/tmp/selenium/index-18.html')
# Check if value in input text is empty
try:
input_text_1 = driver.find_element(By.XPATH, "//input[@name='dummy']")
print("Input text field exists.")
except NoSuchElementException:
print("Input text field does not exist.")
# Close the driver
driver.quit()
Output
Input text field does not exist.
Summary
In this Python Selenium tutorial, we have given instructions on how to check if an input text field exists, with the help of examples.