【发布时间】:2017-01-31 16:18:47
【问题描述】:
我正在使用下面的代码在应用程序中拖放元素。但大多数时候它会拖放到页面的不同部分。很少将元素放置到正确的目的地。问题是将第三个元素移动到目的地时到来。从第三个元素开始,元素被放置在不同的路径中。所有三个元素的 xpath 完全相同。我总共拖动 7 个元素。从第 4 个元素开始,目标区域正在发生变化。所以问题是第三个元素正在移动到第四个元素应该去的区域。
下面更新到第 4 个元素的代码
WebElement element1 = driver.findElement(By.xpath("html/body/div[3]/div[4]/div[3]/div[1]/div[2]/div[2]/div/div/div/div/div/div[5]/div[3]/div/div[3]/div/div/div/table/tbody/tr[1]/td/table/tbody/tr[1]/td[2]/div/table/tbody/tr/td[2]/div/div/button"));
WebElement target1 = driver.findElement(By.xpath("html/body/div[3]/div[4]/div[3]/div[1]/div[2]/div[2]/div/div/div/div/div/div[5]/div[3]/div/div[3]/div/div/div/table/tbody/tr[2]/td[1]/div"));
(new Actions(driver)).dragAndDrop(element1, target1).perform();
Thread.sleep(7000);
WebElement element2= driver.findElement(By.xpath("html/body/div[3]/div[4]/div[3]/div[1]/div[2]/div[2]/div/div/div/div/div/div[5]/div[3]/div/div[3]/div/div/div/table/tbody/tr[1]/td/table/tbody/tr[1]/td[2]/div/table/tbody/tr/td[2]/div/div/button"));
WebElement target2 = driver.findElement(By.xpath("html/body/div[3]/div[4]/div[3]/div[1]/div[2]/div[2]/div/div/div/div/div/div[5]/div[3]/div/div[3]/div/div/div/table/tbody/tr[2]/td[1]/div"));
(new Actions(driver)).dragAndDrop(element2, target2).perform();
Thread.sleep(7000);
WebElement element3= driver.findElement(By.xpath("html/body/div[3]/div[4]/div[3]/div[1]/div[2]/div[2]/div/div/div/div/div/div[5]/div[3]/div/div[3]/div/div/div/table/tbody/tr[1]/td/table/tbody/tr[1]/td[2]/div/table/tbody/tr/td[2]/div/div/button"));
WebElement target3 = driver.findElement(By.xpath("html/body/div[3]/div[4]/div[3]/div[1]/div[2]/div[2]/div/div/div/div/div/div[5]/div[3]/div/div[3]/div/div/div/table/tbody/tr[2]/td[1]/div"));
(new Actions(driver)).dragAndDrop(element3, target3).perform();
Thread.sleep(7000);
WebElement element4 = driver.findElement(By.xpath("html/body/div[3]/div[4]/div[3]/div[1]/div[2]/div[2]/div/div/div/div/div/div[5]/div[3]/div/div[3]/div/div/div/table/tbody/tr[1]/td/table/tbody/tr[1]/td[2]/div/table/tbody/tr/td[2]/div/div/button"));
WebElement target4 = driver.findElement(By.xpath("html/body/div[3]/div[4]/div[3]/div[1]/div[2]/div[2]/div/div/div/div/div/div[5]/div[3]/div/div[3]/div/div/div/table/tbody/tr[2]/td[2]/div"));
(new Actions(driver)).dragAndDrop(element4, target4).perform();
Thread.sleep(7000);
【问题讨论】:
-
指定您使用的是哪个应用程序或网站@Lipson,以便我了解和直接帮助您的一个很好的参考。 :)
-
它适用于我正在专业工作的应用程序。它是一个执行数据透视操作的页面,与 excel 中的数据透视相同。它具有所有可用字段,用户需要根据需要拖放字段他的要求
标签: java selenium selenium-webdriver drag-and-drop