我正在使用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);
答案 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抱歉我的英文不好