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 Selenium选择第一个日期选择器正在工作,但未选择第二个日期选择器_Java_Selenium_Selenium Webdriver_Datepicker - Fatal编程技术网

Java Selenium选择第一个日期选择器正在工作,但未选择第二个日期选择器

Java Selenium选择第一个日期选择器正在工作,但未选择第二个日期选择器,java,selenium,selenium-webdriver,datepicker,Java,Selenium,Selenium Webdriver,Datepicker,我正在创建测试,我对Selenium有一个问题。我试图设置两个日期选择器的日期,一个选择开始日期,另一个选择结束日期。两个日期选择器并排在同一页上。下面是我正在使用的java代码: driver.findElement(By.id("date_debut")).click(); driver.findElement(By.linkText(String.valueOf(10))).click(); // inserted to see if selecting anot

我正在创建测试,我对Selenium有一个问题。我试图设置两个日期选择器的日期,一个选择开始日期,另一个选择结束日期。两个日期选择器并排在同一页上。下面是我正在使用的java代码:

    driver.findElement(By.id("date_debut")).click();
    driver.findElement(By.linkText(String.valueOf(10))).click();

    // inserted to see if selecting another element would make it work
    driver.findElement(By.name("nom_projet")).click();

    driver.findElement(By.id("date_fin_prevu")).click();
    driver.findElement(By.linkText(String.valueOf(17))).click();
我确信日期选择器的id是好的,并且日期选择器是可选择的,因为我想要选择的第一个总是可选择的。问题是我不能选择第一个,设置日期,然后选择第二个来设置日期

简单地说,我的问题是第二个日期选择器从未被选中


我希望我已经很清楚了,如果不是问我解释的话。

我猜点击第二个元素会触发第一个日期选择器的关闭,而没有正确初始化第二个。 尝试在途中随机点击身体

driver.findElement(By.css("body")).click();

在单击第二个日期选择器之前

我的猜测是,单击第二个元素会触发第一个日期选择器的关闭,而不会正确初始化第二个。 尝试在途中随机点击身体

driver.findElement(By.css("body")).click();

在单击第二个日期选择器之前

我认为这取决于你使用的是什么“日期选择器”。您可以添加更多信息吗?在日期选择器选择之间是否有等待?@SirLenz0rlot我使用的是jQuery日期选择器。我认为问题来自Selenium,因为当我只为其中一个日期选择器使用我的代码时,它可以完美地工作。@Kumrunaharkeya我尝试使用Thread.sleep(),但它没有改变任何东西。@SirLenz0rlot我们使用的是一个输入元素(请参见我的小提琴)但是我们不允许用户在其中写入,所以我不能使用sendkeys方法。我不明白为什么第一次点击效果很好-无论目标是哪个日期选择器,我都可以从结束日期开始,但之后我将无法选择开始日期,反之亦然-但第二次永远不起作用-我认为这取决于您使用的“日期选择器”。您可以添加更多信息吗?在日期选择器选择之间是否有等待?@SirLenz0rlot我使用的是jQuery日期选择器。我认为问题来自Selenium,因为当我只为其中一个日期选择器使用我的代码时,它可以完美地工作。@Kumrunaharkeya我尝试使用Thread.sleep(),但它没有改变任何东西。@SirLenz0rlot我们使用的是一个输入元素(请参见我的小提琴)但是我们不允许用户在其中写入,所以我不能使用sendkeys方法。我不明白为什么第一次点击效果很好-无论目标是哪个日期选择器,我都可以从结束日期开始,但我无法选择开始日期,反之亦然-但是第二次点击永远不起作用你是对的,它使用这一行。然而,我不明白为什么这项工作以及为什么点击我之前完成的页面的随机字段不能完成这项工作,就像在我的示例中一样。。。不过,非常感谢!正如Sebastian正确解释的那样,单击第二个元素实际上会关闭第一个日期选择器,而不会触发单击下一个元素(这将打开第二个日期选择器)。因此,上面的代码为您做到了这一点;单击body元素触发外部单击,然后单击日期选择器并选择日期的进一步代码生效:)好的,我没有这样理解,对我来说,单击其他地方就足够了。谢谢你的解释:)你说得对,这是这一行。然而,我不明白为什么这项工作以及为什么点击我之前完成的页面的随机字段不能完成这项工作,就像在我的示例中一样。。。不过,非常感谢!正如Sebastian正确解释的那样,单击第二个元素实际上会关闭第一个日期选择器,而不会触发单击下一个元素(这将打开第二个日期选择器)。因此,上面的代码为您做到了这一点;单击body元素触发外部单击,然后单击日期选择器并选择日期的进一步代码生效:)好的,我没有这样理解,对我来说,单击其他地方就足够了。谢谢你的解释:)