Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 程序使用拖放操作卡住_Selenium_Drag And Drop - Fatal编程技术网

Selenium 程序使用拖放操作卡住

Selenium 程序使用拖放操作卡住,selenium,drag-and-drop,Selenium,Drag And Drop,我正在尝试使用拖放来移动滑块。它标识元素并单击它,之后什么都没有发生,我的代码本身也卡在那里(比如等待用户输入)。只要我手动移动鼠标一点点,它就会执行其余的代码,并按预期工作。请帮帮我,这种奇怪的行为是什么。?。下面是我用来构建拖放的代码 Actions builder = new Actions(driver); Action secondSlide = builder.dragAndDropBy(secondSlider, 50, 0).click().build(); Sy

我正在尝试使用拖放来移动滑块。它标识元素并单击它,之后什么都没有发生,我的代码本身也卡在那里(比如等待用户输入)。只要我手动移动鼠标一点点,它就会执行其余的代码,并按预期工作。请帮帮我,这种奇怪的行为是什么。?。下面是我用来构建拖放的代码

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");

“Waiting”消息打印得很好,但它没有打印“notwaiting”,因为它卡在了“secondSlide.perform()”行中。但只要我手动移动鼠标一点点,它就会打印“not waiting”(不等待),程序就会优雅地结束。

尝试以不同的方式完成。以下是一些方法:

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