Selenium IDE | Locating the Elements
For many Selenium IDE commands, a target is required. This target identifies an element in the content of the web application and consists of the location strategy followed by the location in the format locatorType=location. The locator type can be omitted in many cases. One of the most fundamental techniques to learn when using WebDriver is how to find elements on the page. Let’s get started
The various locator types are explained below with examples for each.
- Locating by Identifier: This is probably the most common method of locating elements and is the catch-all default when no recognized locator type is used With this strategy, the first element with the id attribute value matching the location will be used. If no element has a matching id attribute, then the first element with a name attribute matching the location will be used.
For instance, page source could have id and name attributes as follows:
<html>
<body>
<form id=”loginForm”>
<input name=”username” type=”text” />
<input name=”password” type=”password” />
<input name=”continue” type=”submit” value=”Login” />
</form>
</body>
<html>
The following locator strategies would return the elements from the HTML snippet above indicated by line number:
- identifier=loginForm (3)
- identifier=password (5)
- identifier=continue (6)
- continue (6)
Since the identifier type of locator is the default, the identifier, in the first three examples above is not necessary.
- Locating by Id: This type of locator is more limited than the identifier locator type, but also more explicit. Use this when you know an element’s id attribute.
<html>
<body>
<form id=”loginForm”>
<input name=”username” type=”text” />
<input name=”password” type=”password” />
<input name=”continue” type=”submit” value=”Login” />
<input name=”continue” type=”button” value=”Clear” />
</form>
</body>
<html>
id=loginForm (3)
- Locating by Name: The name locator type will locate the first element with a matching name attribute. If multiple elements have the same value for a name attribute, then you can use filters to further refine location strategy. The default filter type is value (matching the value attribute).
<html>
<body>
<form id=”loginForm”>
<input name=”username” type=”text” />
<input name=”password” type=”password” />
<input name=”continue” type=”submit” value=”Login” />
<input name=”continue” type=”button” value=”Clear” />
</form>
</body>
<html>
- name=username (4)
- name=continue value=Clear (7)
- name=continue Clear (7)
- name=continue type=button (7)