Use sendKeys() on the element found by By.name("email") to enter text.
If multiple elements share the same name, what does findElement(By.name()) return?
AA list of elements
BAll matching elements
CAn error
DThe first matching element
✗ Incorrect
findElement returns only the first matching element found.
Explain how to use findElement(By.name()) in Selenium Java to locate and interact with a web element.
Think about how you find a form field by its name and type into it.
You got /4 concepts.
What are the advantages and possible pitfalls of using the name attribute as a locator in Selenium tests?
Consider reliability and exceptions when element is missing.
You got /4 concepts.
Practice
(1/5)
1. What does the Selenium method findElement(By.name("username")) do in a test script?
easy
A. It finds all elements with the tag name "username".
B. It finds the first web element with the attribute name="username".
C. It clicks on the element with id "username".
D. It waits for the element with class "username" to appear.
Solution
Step 1: Understand the method purpose
The method findElement(By.name("username")) searches for a single element with the name attribute equal to "username".
Step 2: Differentiate from other locators
This method does not search by tag, id, or class, only by the name attribute.
Final Answer:
It finds the first web element with the attribute name="username". -> Option B
Quick Check:
findElement(By.name) = finds element by name attribute [OK]
Hint: Remember: findElement(By.name) targets the name attribute [OK]
Common Mistakes:
Confusing name with id or class attributes
Thinking it finds multiple elements instead of one
Assuming it performs a click automatically
2. Which of the following is the correct syntax to find an element by its name attribute "email" in Selenium Java?
easy
A. driver.findElement(By.tagName("email"));
B. driver.findElement(By.id("email"));
C. driver.findElement(By.name("email"));
D. driver.findElement(By.className("email"));
Solution
Step 1: Identify the correct locator method
To find an element by its name attribute, the correct method is By.name("email").
Step 2: Verify syntax correctness
The syntax driver.findElement(By.name("email")); is valid and correctly uses the name locator.
Final Answer:
driver.findElement(By.name("email")); -> Option C
Quick Check:
Use By.name for name attribute [OK]
Hint: Use By.name("value") to find element by name attribute [OK]
Common Mistakes:
Using By.id or By.className instead of By.name
Missing quotes around the name value
Using incorrect method names
3. What will happen when the following code runs if the page contains an input element <input name="search">?
WebElement element = driver.findElement(By.name("search"));
System.out.println(element.getTagName());
medium
A. It prints "input" to the console.
B. It throws a NoSuchElementException.
C. It prints "search" to the console.
D. It prints "name" to the console.
Solution
Step 1: Locate element by name attribute
The code finds the element with name="search", which is an input tag.
Step 2: Print the tag name of the found element
The method getTagName() returns the tag name of the element, which is "input".
Final Answer:
It prints "input" to the console. -> Option A
Quick Check:
getTagName() returns tag name [OK]
Hint: getTagName() returns the HTML tag, not attribute values [OK]
Common Mistakes:
Expecting getTagName() to return attribute value
Assuming element not found causes print output
Confusing attribute name with tag name
4. Given the code snippet below, what is the main issue that will cause a failure?
WebElement element = driver.findElement(By.name("submitBtn"));
element.click();
Assume the page does not have any element with name="submitBtn".
medium
A. The code will compile but silently fail.
B. NullPointerException will be thrown at click().
C. The element will be found but click will do nothing.
D. NoSuchElementException will be thrown at findElement.
Solution
Step 1: Understand findElement behavior when element missing
If no element matches the locator, findElement throws NoSuchElementException.
Step 2: Check what happens before click()
The exception occurs before click() is called, so click is never reached.
Final Answer:
NoSuchElementException will be thrown at findElement. -> Option D
Quick Check:
Missing element causes NoSuchElementException [OK]
Hint: findElement throws exception if element not found [OK]
Common Mistakes:
Expecting null instead of exception
Thinking click() causes NullPointerException
Assuming silent failure without error
5. You want to fill a form field with name="userEmail" but sometimes the element is inside an iframe. Which approach correctly finds the element by name and handles the iframe?
hard
A. Switch to iframe first, then use driver.findElement(By.name("userEmail")).
B. Use driver.findElement(By.name("userEmail")) directly without switching frames.
C. Use driver.findElement(By.id("userEmail")) after switching to iframe.
D. Switch to iframe after finding the element by name.
Solution
Step 1: Understand iframe context in Selenium
Elements inside iframes require switching the driver's context to that iframe before locating elements inside it.
Step 2: Apply correct order of operations
First switch to the iframe, then use findElement(By.name("userEmail")) to locate the element inside it.
Final Answer:
Switch to iframe first, then use driver.findElement(By.name("userEmail")). -> Option A
Quick Check:
Switch to iframe before locating inside it [OK]
Hint: Always switch to iframe before finding elements inside it [OK]
Common Mistakes:
Trying to find element inside iframe without switching
Using wrong locator like id instead of name
Switching to iframe after locating element
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.