拖放后元素未附加到DOM

时间:2013-07-01 15:16:49

标签: java selenium selenium-webdriver

我正在使用selenium webdriver,我正在尝试拖放表的一列。但是只要我拖放列,我就会收到错误“元素不再附加到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);

1 个答案:

答案 0 :(得分: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抱歉我的英文不好

相关问题