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
Java 无法在链接中选择选项卡拖动或排序http://demoqa.com/draggable/ (此处没有选项卡)_Java_Selenium - Fatal编程技术网

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