程序卡住使用拖放硒

时间:2014-06-01 08:29:24

标签: selenium drag-and-drop

我正在尝试使用拖放移动滑块。它识别元素并点击它,之后没有任何反应,我的代码就在那里(就像等待用户输入一样)。一旦我手动移动鼠标,它就会执行其余代码并按预期工作。请帮帮我这个奇怪的行为是什么。下面是我用来构建拖放的代码。

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()”行中。但是一旦我手动移动我的鼠标,就会打印出“不等待”并且程序优雅地结束。

1 个答案:

答案 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();