Locating Web Elements by index matching

0 votes

Probably this is not the best way of locating elements, but sometimes it’s needed to use these kind of locator strategy. A reason might be the lack of element identifiers.

CSS XPath
Select second element E:nth-child(2) //E[2]
First <E> child E:first-of-type //E[1]
Last <E> child E:last-of-type //E[last()]

 

Examine your knowledge and play the ‘locator game‘.

Locating Web Elements by label matching

0 votes

Not always you want to take a look at the underlying HTML code. Therefore it can be handy to define the text of the label in front of form fields. The following example defines the use of label matching.

Example HTML:

<label for="lastname">Last Name</label>
<input type="text" id="lastname" />

We can use:

`//label[contains(text(), 'Last Name')]/../input`

It can be a bit tricky as the label can be defined before, after or around the form fields.

 

Examine your knowledge and play the ‘locator game‘.

Locating Web Elements by text matching

1 vote

Although it is not the best solution, sometimes we need to locate elements based on the text displayed. It’s not the best solution if you have to test a multilingual website, because the text is different in every language.

Using XPath we have the following options:

Text equals

//E[text() = 'Displayed text']

Text contains

//E[contains(text(), 'Displayed text')]

 

Examine your knowledge and play the ‘locator game‘.