不能 select 来自 jquery 日期选择器日期范围 select 或 Selenium JAVA 的日期范围

Cannot select a date range from jquery datepicker date range selector in Selenium JAVA

我正在为 select 从 jquery 日期选择器日期范围 select 或使用 selenium web 驱动程序设置日期范围而苦苦挣扎。

下图显示了日期选择器。

我需要 select 此日历中的一个日期范围。我试过以下链接。

Link 2

我发现唯一相关的是以下代码段。

driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@class='demo-frame'][@src='/resources/demos/datepicker/default.html']")));
driver.findElement(By.id("datepicker")).click();
System.out.println("Datepicker Clicked");

但是,它没有显示如何从日期选择器select日期范围。

提前致谢。 :-)

尝试下面的代码,看看它是否有效。 我从 select the Date Picker

偷了代码
((JavascriptExecutor)driver).executeScript ("document.getElementById('elementid').removeAttribute('readonly',0);"); // Enables the from date box

WebElement dateBox= driver.findElement(By.id("elementid"));
dateBox.clear();
dateBox.sendKeys("8-Dec-2014"); //Enter date in required format

根据我的经验,通过 findElement 调用与此类组件进行交互是没有意义的。除非你想让你的测试不稳定。此类日期选择器通常有 public API,可以直接通过 JavascriptExecutor 访问。快 sample:

$( ".selector" ).datepicker( "setDate", "10/12/2012" );

可以通过以下方式使用:

executeScript("$( '.selector' ).datepicker( 'setDate', '10/12/2012' );");

所以我建议你找出哪个 JS 库用于呈现你的日期选择器,检查它们 API,然后按照我上面写的方式直接访问它。