2013-07-01 25 views
0

我使用的是selenium webdriver,其中我試圖拖放一列表的列。但只要我拖放列,我收到一個錯誤「元素不再附加到DOM」。 下面是我已經使用拖放元素元素拖放後沒有附加到DOM

  WebElement draggable = objectIdentifierType(
          objectIdentificationKeyword, objectValue); 

      WebElement droppable = GetBrowserDriver.driver.findElement(By.xpath(objectData));     
      /*WebElement droppable = objectIdentifierType(
          objectIdentificationKeyword, objectValue);*/ 
      if (draggable != null) { 
        System.out.println(draggable.getText()+"Draged element"); 
        System.out.println(droppable.getText()+"Droped element"); 
        //System.out.println(droppable.getText()); 
        new Actions(GetBrowserDriver.driver).dragAndDrop(
           draggable,droppable).build() 
           .perform(); 

        HTMLReport.bw.write("<script type='text/javascript'>addDetailRow('" 
          + GenericFunctions.testCaseName + "','" 
          + HTMLReport.testcaseTABLESNO() + "','\"" 
          + "Drag Value: " 
          + draggable.getText() 
          + "','Drop Value \"" 
          + droppable.getText() 
          + "\" ','" 
          + "','Passed')</script>"); 
        // new 
        // Actions(GetBrowserDriver.driver).dragAndDrop(draggable, 
           // droppable); 
        String actualResult = "The Slider value is changed to the expected value."; 
        CreateExcel updatePassed = new CreateExcel(); 
        updatePassed.updatePassedTestSteps(actualResult, 
           expectedResult, objectData); 

回答

0

顯然的代碼,你這個動作改變了DOM。您需要分配draggable.getText()droppable.getText()串 我不熟悉Java這麼多,但我認爲這應該工作:

if (draggable != null) { 
    String draggableText = draggable.getText(); 
    String droppableText = droppable.getText(); 
    //continue your code from here using new variables 

PS對不起,我的英文不好

+0

感謝ü非常解決我的問題了工作很好....... – Piyush

+0

@Piyush很高興它幫助 –