eclipse Selenium chrome驱动程序在使用action.dragAndDrop时挂起(等待物理鼠标移动)

xjreopfe  于 2022-11-04  发布在  Eclipse
关注(0)|答案(1)|浏览(101)

我正在尝试在此网站上使用拖放操作https://app.involve.me/
我正在执行的步骤是:
1.登录网站
1.从头开始创建新项目
1.尝试从右侧的列表中拖放一个项目(无论是什么项目)。每次我拖动项目时,Selenium都会挂起,直到我移动物理鼠标,只有这样Selenium才会继续测试
我使用 selenium 4.3.0的TestNG
selenium hangs

我的代码:

(字符串图像名称){

try {
        WebElement to = driver.findElement(By.cssSelector("[class='e-target-dropzone vcentered bgfixed center-center']"));
        List<WebElement> listOfImages = imageList;
        for(WebElement el : listOfImages ) {
            WebElement text = el.findElement(By.cssSelector("[class='v-title'] p"));
            if(getText(text).equalsIgnoreCase(imageName)){
                WebElement drag = el;
                Actions act = new Actions(driver);
                act.clickAndHold(drag)
                .pause(Duration.ofSeconds(1))
                .moveToElement(to)
                .pause(Duration.ofSeconds(1))
                .moveByOffset(0,1)
                .pause(Duration.ofSeconds(1))
                .release(to)
                .pause(Duration.ofSeconds(1))
                .build().perform();
                break;
            }
        }
    }catch (Exception e) {
        System.out.println("Did not find the requested item");
    }

这是我用来按名称选择正确项的循环(我使用pageFactory来查找元素)
我尝试了所有的解决方案-动作拖放javascript执行器等...
如果有人能解决我的问题,那将是非常感谢。

cetgtptt

cetgtptt1#

对于任何需要解决方案的人,您可以用途:

action.moveToElement(element);

action.keyDown(Keys.LEFT_CONTROL).click().build().perform();

这对我很有效。

相关问题