2017-09-14 22 views
0
element.all(by.css('#options-ul li')).each(function (elem, index) { 
       return elem.evaluate('option').then(function (value) { 
        if (correctAns.indexOf(value.Id)!==-1) { 
         elem.click(); 
         browser.sleep(5000); 
         quizPageElements.clickNextQn(); 
         // browser.sleep(15000); 
         browser.waitForAngular(); 
        } 
       }); 

      }); 

取得エラーのようは失敗しました:分度器で古くなった要素参照

Failed: stale element reference: element is not attached to the page document 
    (Session info: chrome=60.0.3112.113) 
    (Driver info: chromedriver=2.31.488763 (092de99f48a300323ecf8c2a4e2e7cab51de5ba8),platform=Windows NT 6.3.9600 x86_64) 
StaleElementReferenceError: stale element reference: element is not attached to the page document 
    (Session info: chrome=60.0.3112.113) 
    (Driver info: chromedriver=2.31.488763 (092de99f48a300323ecf8c2a4e2e7cab51de5ba8),platform=Windows NT 6.3.9600 x86_64) 
    at WebDriverError (C:\Users\Mvision\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:27:5) 
    at StaleElementReferenceError (C:\Users\Mvision\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:227:5) 
    at Object.checkLegacyResponse (C:\Users\Mvision\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:505:15) 
    at parseHttpResponse (C:\Users\Mvision\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:509:13) 
    at doSend.then.response (C:\Users\Mvision\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:440:13) 
    at process._tickCallback (internal/process/next_tick.js:109:7) 

<ul>タグ内の各要素を取得し、分度器で関数を評価使用してスコープ変数のIDを取得し、状態を確認してからクリックしようとしました次のボタンをクリックします。評価関数でこのエラーが発生することがあります。古いエラーを回避することができませんでしたので

答えて

0

、私はちょうど場合、要素をクリックしevaluate関数内でエラーをキャッチし、続行しようとしたエラーhappens.Like、

element.all(by.css('#options-ul li')).each(function (elem, index) { 
       return elem.evaluate('option').then(function (value) { 
        if (correctAns.indexOf(value.Id)!==-1) { 
         elem.click(); 
         browser.sleep(5000); 
         quizPageElements.clickNextQn(); 
         // browser.sleep(15000); 
         browser.waitForAngular(); 
        } 
       },function(err){ 
      //do operation to click a button 
      }); 
     }); 
関連する問題