@@ -19,6 +19,7 @@ namespace CSF.Screenplay.Selenium.Builders
1919 public class FindElementsBuilder : IGetsPerformableWithResult < SeleniumElementCollection >
2020 {
2121 readonly ITarget target ;
22+ readonly IHasSearchContext searchContext ;
2223 Locator locator ;
2324 string name ;
2425
@@ -46,7 +47,9 @@ public FindElementsBuilder AndNameThem(string name)
4647
4748 IPerformableWithResult < SeleniumElementCollection > IGetsPerformableWithResult < SeleniumElementCollection > . GetPerformable ( )
4849 {
49- return SingleElementPerformableWithResultAdapter . From ( new FindElements ( name , locator ) , target ) ;
50+ return target != null
51+ ? new FindElements ( target , name , locator )
52+ : new FindElements ( searchContext , name , locator ) ;
5053 }
5154
5255 /// <summary>
@@ -59,13 +62,12 @@ public FindElementsBuilder(ITarget target)
5962 }
6063
6164 /// <summary>
62- /// Converts a <see cref="FindElementsBuilder"/> to a <see cref="SingleElementPerformableWithResultAdapter{SeleniumElementCollection}"/> .
65+ /// Initializes a new instance of the <see cref="FindElementsBuilder"/> class with the specified target .
6366 /// </summary>
64- /// <param name="builder">The <see cref="FindElementsBuilder"/> instance to convert.</param>
65- /// <returns>A <see cref="SingleElementPerformableWithResultAdapter{SeleniumElementCollection}"/> instance.</returns>
66- public static implicit operator SingleElementPerformableWithResultAdapter < SeleniumElementCollection > ( FindElementsBuilder builder )
67+ /// <param name="searchContext">The target within which elements will be found.</param>
68+ public FindElementsBuilder ( IHasSearchContext searchContext )
6769 {
68- return SingleElementPerformableWithResultAdapter . From ( new FindElements ( builder . name , builder . locator ) , builder . target ) ;
70+ this . searchContext = searchContext ?? throw new System . ArgumentNullException ( nameof ( searchContext ) ) ;
6971 }
7072 }
7173}
0 commit comments