我正在尝试使用拖放移动滑块。它识别元素并点击它,之后没有任何反应,我的代码就在那里(就像等待用户输入一样)。一旦我手动移动鼠标,它就会执行其余代码并按预期工作。请帮帮我这个奇怪的行为是什么。下面是我用来构建拖放的代码。
Actions builder = new Actions(driver);
Action secondSlide = builder.dragAndDropBy(secondSlider, 50, 0).click().build();
System.out.println("waiting");
secondSlide.perform();
System.out.println("not waiting");
“正在等待”消息打印得很好但是它不会打印“不等待”,因为它卡在“secondSlide.perform()”行中。但是一旦我手动移动我的鼠标,就会打印出“不等待”并且程序优雅地结束。
答案 0 :(得分:0)
尝试以不同方式执行此操作。以下是一些方法:
WebElement element = driver.findElement(By.name("element dom name"));
WebElement target = driver.findElement(By.name("target dom name"));
(new Actions(driver)).dragAndDrop(element, target).perform();
或者:
Actions builder = new Actions(driver);
Action dragAndDrop = builder.clickAndHold(someElement)
.moveToElement(otherElement)
.release(otherElement)
.build();
dragAndDrop.perform();