我正在努力使用selenium web driver从jquery datepicker日期范围选择器中选择一个日期范围。
下图显示了日期选择器。
我需要从此日历中选择日期范围。我试过以下链接。
我发现只有以下代码段。
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");
但是,它没有显示如何从日期选择器中选择日期范围。
提前致谢。 : - )
答案 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