无法从Selenium JAVA中的jquery datepicker日期范围选择器中选择日期范围

时间:2017-08-24 09:57:01

标签: java selenium selenium-webdriver jquery-ui-datepicker

我正在努力使用selenium web driver从jquery datepicker日期范围选择器中选择一个日期范围。

下图显示了日期选择器。

calendar

我需要从此日历中选择日期范围。我试过以下链接。

Link 1

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

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

提前致谢。 : - )

2 个答案:

答案 0 :(得分:1)

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

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

可以通过以下方式使用:

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

所以我建议你找出用于渲染日期选择器的JS库,检查他们的API,并按照我上面的方式直接访问它。

答案 1 :(得分:-1)

尝试下面的代码,看看它是否有效。 我偷了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