@@ -110,12 +110,14 @@ var buildElementHelper = function(ptor) {
110
110
return parentWebElement . findElements ( this . locator_ ) ;
111
111
}
112
112
} else {
113
- ptor . waitForAngular ( ) ;
114
- if ( this . locator_ . findElementsOverride ) {
115
- return this . locator_ . findElementsOverride ( ptor . driver ) ;
116
- } else {
117
- return ptor . driver . findElements ( this . locator_ ) ;
118
- }
113
+ var self = this ;
114
+ return ptor . waitForAngular ( ) . then ( function ( ) {
115
+ if ( self . locator_ . findElementsOverride ) {
116
+ return self . locator_ . findElementsOverride ( ptor . driver ) ;
117
+ } else {
118
+ return ptor . driver . findElements ( self . locator_ ) ;
119
+ }
120
+ } ) ;
119
121
}
120
122
} ;
121
123
@@ -470,8 +472,13 @@ var buildElementHelper = function(ptor) {
470
472
WEB_ELEMENT_FUNCTIONS . forEach ( function ( fnName ) {
471
473
if ( ! self [ fnName ] ) {
472
474
self [ fnName ] = function ( ) {
473
- var webElem = self . getWebElement ( ) ;
474
- var actionResult = webElem [ fnName ] . apply ( webElem , arguments ) ;
475
+ var args = arguments ;
476
+ var webElem = self . getWebElement ( ) ;
477
+ var actionResult = webElem . then (
478
+ function ( webElem_ ) {
479
+ return webElem_ [ fnName ] . apply ( webElem_ , args ) ;
480
+ } ) ;
481
+
475
482
return new ElementFinder (
476
483
locator , opt_parentElementFinder ,
477
484
actionResult , opt_index ) ;
@@ -722,11 +729,9 @@ var buildElementHelper = function(ptor) {
722
729
* @return {webdriver.promise.Promise } Promise which contains the results of
723
730
* evaluating fn.
724
731
*/
725
- ElementFinder . prototype . then = function ( fn ) {
732
+ ElementFinder . prototype . then = function ( fn , errorFn ) {
726
733
if ( this . opt_actionResult_ ) {
727
- return this . opt_actionResult_ . then ( function ( ) {
728
- return fn . apply ( null , arguments ) ;
729
- } ) ;
734
+ return this . opt_actionResult_ . then ( fn , errorFn ) ;
730
735
} else {
731
736
return fn ( this ) ;
732
737
}
0 commit comments