Description
Use the FindElement
method to find a child web element that matches a search condition. You can specify the condition either by using the XPath syntax (see www.w3schools.com/xml/xpath_syntax) or the CSS selector syntax (see www.w3.org/TR/selectors).
The method returns the first found element that matches the condition.
Requirements
-
TestComplete 14.5.
Note: If you have another version of TestComplete, please check the requirements for your version.
-
An active license for the TestComplete Web Module.
-
The Web Testing plugin must be enabled in TestComplete (it is installed and enabled by default).
Declaration
TestObj.FindElement(Selector)
TestObj | A variable, parameter or expression that specifies a reference to one of the objects listed in the Applies To section | |||
Selector | [in] | Required | Object | |
Result | An object or a null object |
Applies To
The method is applied to the following object:
View Mode
To view this method in the Object Browser panel and in other panels and dialogs, activate the Advanced view mode.
Parameters
The method has the following parameter:
Selector
Specifies the search condition. Can be either an XPath expression or a CSS selector.
XPath
-
The search expression must comply with the XPath rules. For more information on them, see XPath documentation. For instance, you can find XPath Reference in the MSDN Library.
-
The search expression must contain the names of HTML elements and attributes. Do not use Name Mapping aliases.
-
The element and attributes names in the search expression are case-insensitive. That is, you can specify them either in the upper case, or in the lower case.
However, the element and attribute values, which you specify in the search expression, are case-sensitive. For instance, image1.PNG, IMAGE1.PNG and Image1.png are different values for XPath. The search expression must specify values in the same case, in which they are specified in the source code of the page.
-
In search expressions, you can use XPath 1.0 functions like
contains
,substring
,starts-with
and others.XPath 2.0 functions (like
lower-case()
,matches()
and others), Microsoft extensions and other third-party extensions to XPath functions are not supported.
The table below contains some examples of XPath expressions:
Expression | Description |
---|---|
//IMG[contains(@src, 'plusBtn.gif')] |
All IMG elements whose src attribute contains the plusBtn.gif substring. |
//A[starts-with(@href, 'javascript:')] |
All A elements whose href attribute starts with the javascript: prefix. |
//DIV[@class='CodeExample']/P[1] |
All P elements that are located at the first position within DIV elements whose class attribute is set to CodeExample. |
//*[@align='center'] |
All web page elements that have the align attribute set to center. |
//UL/* |
A collection of direct children of any UL element. |
//UL[@id='ProductList']/LI[last()] |
The last LI element within the UL element that has the id attribute set to ProductList. |
//DIV//A |
All A elements that are descendants of any DIV element. |
CSS selector
A search expression containing one or more CSS selectors. For more information on them, see CSS selector syntax documentation. For example, you can find it at www.w3.org/TR/selectors.
The table below demonstrates some examples of CSS selectors:
Selector | Description |
---|---|
h3 |
All H3 elements. |
#infobox |
An element with the ID "infobox". |
.nav |
All elements with the class "nav". |
div,p |
All DIV elements and all P elements. |
div p |
All P elements inside DIV elements. |
img.thmb |
All IMG elements of the "thmb" class. |
a:link |
All unvisited links. |
a[target=blank] |
All links that open in a new window. |
a[src^="https"] |
All links whose src attribute value begins with "https". |
li:first-of-type |
All LI elements that are the first item in their parent elements. |
p:nth-child(2) |
All P elements that are located at the second position within their parent elements. |
Result Value
The method returns an object that matches the specified search criteria.
If no matching object was found, the method returns an empty value (null
in JavaScript, JScript, C#Script, and C++Script, None
in Python, Nothing
in VBScript, nil
in DelphiScript) and posts an error message to the test log. Depending on how your project is configured to handle errors, TestComplete may stop the entire test run when the error is posted. To avoid errors, you can use the WaitElement
method instead.
See Also
WaitElement Method (Web Objects)
FindElements Method (Web Objects)
Web Object
About Cross-Platform Web Tests