If we have the following HTML: <div name="1" id="grid" > <div name="2" > <div name="3"> </div> <div name="4"> </div> </div> </div> and we try to use the following code: HtmlDiv element1 = Manager.ActiveBrowser.Find.ByXPath<HtmlDiv>("//div[@id='grid']"); IList<HtmlDiv> list1 = element1.Find.AllByXPath<HtmlDiv>("./div"); Log.WriteLine(list1.Count.ToString()); We expect to receive in the log file 2, because element1.Find.AllByXPath<HtmlDiv>("./div") should find divs with name 3 and 4. However in the log file we have 1, because only div name="1" id="grid" is found. Sample web page and test are attached in the internal description.