gpt4 book ai didi

java - Action 类不适用于 Selenium 3.5.3

转载 作者:行者123 更新时间:2023-12-02 08:51:20 25 4
gpt4 key购买 nike

我想将元素从一个地方拖放到另一个地方。因此,我使用操作类来实现我的功能。

问题是我的代码执行成功,没有显示任何错误,但功能目标没有实现。

我在 Firefox 和 Chrome 浏览器中尝试了相同的代码,但在这两个浏览器中都重复了同样的问题。

这是网站 url .

我尝试过的代码:

driver.get("http://www.seleniumeasy.com/test/drag-and-drop-demo.html");
driver.manage().window().maximize();

driver.findElement(By.xpath("//div[@id='todrag']//span[contains(text(), 'Draggable 1')]"));
driver.findElement(By.xpath("//div[@id='todrag']//span[contains(text(), 'Draggable 2')]"));
driver.findElement(By.xpath("//div[@id='todrag']//span[contains(text(), 'Draggable 3')]"));
driver.findElement(By.xpath("//div[@id='todrag']//span[contains(text(), 'Draggable 4')]"));

WebElement to = driver.findElement(By.xpath("//div[@class='w50 moveleft']//div[@id='mydropzone']"));
String[] array_drag = new String[] {"Draggable 1", "Draggable 2", "Draggable 3", "Draggable 4"};

for(int i=0; i<array_drag.length; i++)
{
WebElement from = driver.findElement(By.xpath("//div[@id='todrag']//span[contains(text(), '"+array_drag[i]+"')]"));
Actions act = new Actions(driver);
act.clickAndHold(from).build().perform();
Thread.sleep(2500);
act.clickAndHold().moveToElement(to).release(to).build().perform();
Thread.sleep(2500);
}

我也尝试过这个答案,但重复了同样的问题。

Actions act = new Actions(driver);
act.moveToElement(from).moveToElement(to).build().perform();

您也可以看到下面的附图,代码执行成功,没有显示任何错误。

enter image description here

谁能帮我解决这个问题吗?

最佳答案

我们也可以这样尝试

Action dragAndDrop = builder.clickAndHold(src)
.moveToElement(trg)
.release(trg)
.build();
dragAndDrop.perform();

关于java - Action 类不适用于 Selenium 3.5.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45911879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com