Java 无法在链接中选择选项卡拖动或排序http://demoqa.com/draggable/ (此处没有选项卡)
我尝试使用所有已知元素标识符来选择链接中拖放选项中的选项卡,但始终无法找到错误对象。 有人能帮我吗Java 无法在链接中选择选项卡拖动或排序http://demoqa.com/draggable/ (此处没有选项卡),java,selenium,Java,Selenium,我尝试使用所有已知元素标识符来选择链接中拖放选项中的选项卡,但始终无法找到错误对象。 有人能帮我吗 public class DragnDrop { public static void main(String[] args) throws InterruptedException { System.setProperty("webdriver.gecko.driver", "D:\\Auto\\geckodriver-v0.11.1-win32\\geckodriver.exe")
public class DragnDrop {
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.gecko.driver", "D:\\Auto\\geckodriver-v0.11.1-win32\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("http://demoqa.com");
driver.findElement(By.xpath(".//*[@id='menu-item-140']/a")).click();
Actions builder = new Actions(driver);
WebElement know = driver.findElement(By.xpath(".//*[@id='tabs']/ul"));
builder.moveToElement(know, 10, 10 ).click().build().perform();
我甚至尝试使用action来单击特定位置,但在我看来没有任何效果,如果您尝试单击的是“Dragable+Sortable”选项卡,则下面应该允许:
WebElement draggableTab = driver.findElement(By.id("ui-id-5"));
draggableTab.click();
我尝试过上面的方法(使用C#),效果很好。公共类DragDrop{
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
System.setProperty("webdriver.gecko.driver",
System.getProperty("user.dir") + "\\src\\Browser_Driver\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("http://demoqa.com");
driver.findElement(By.xpath(".//*[@id='menu-item-140']/a")).click();
WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//a[contains(text(), 'Draggable + Sortable')]")));
driver.findElement(By.xpath("//a[contains(text(), 'Draggable + Sortable')]")).click();
动作生成器=新动作(驱动程序)
List List=driver.findElements(By.cssSelector(“#sortablebox li”);
WebElement source=driver.findElement(By.id(“draggablebox”);
WebElement dest1=list.get(1);
WebElement dest2=list.get(4);
builder.click(source).clickAndHold().moveToElement(dest1).moveByOffset(0,10).release().build().perform();
《睡眠》(2000年);
builder.click(source).clickAndHold().moveToElement(dest2).moveByOffset(0,10).release().build().perform();
哪一段代码失败了?你可以发布准确的错误,也可以粘贴相关的html,或者至少明确你对哪个元素有问题?不,我需要检测选项卡并单击它。它不起作用..转到单击选项卡,然后单击可拖动+可排序的选项卡..这就是测试用例my代码有我尝试过的所有疯狂想法byt失败不关注itI我收到这个问题'Dec 15,2016 6:22:16 PM org.openqa.selenium.remote.ProtocolHandshake createSession信息:检测到的方言:W3C JavaScript错误:,第515行:引用错误:手风琴未定义'd最好使用WebDriverWait而不是线程。睡眠!你现在可以试试这个,我发送给你的最后一个代码不是动态处理的。但是使用Webdriver wait,你可以单击Dragable+Sortable选项卡。另外,最后一个代码在我的机器上工作,你可能会因为静态等待而面临问题。但是现在你可以单击你想要的元素。您好,还有欢迎来到stackoverflow社区。请始终在您的答案中添加一些上下文,这样答案将很容易取消启动。避免始终在您的答案中只添加代码。谢谢
// code works perfectly for demoqa site
List<WebElement> list = driver.findElements(By.cssSelector("#sortablebox li"));
WebElement source = driver.findElement(By.id("draggablebox"));
WebElement dest1 = list.get(1);
WebElement dest2 = list.get(4);
builder.click(source).clickAndHold().moveToElement(dest1).moveByOffset(0, 10).release().build().perform();
Thread.sleep(2000);
builder.click(source).clickAndHold().moveToElement(dest2).moveByOffset(0, 10).release().build().perform();