2015-03-19 55 views
1

我正在使用Selenium WebDriver和Java编写自动测试,并且我在日历中选择了日期问题。JAVA,硒 - 使用变量从日历中选择日期

这是我的代码找到并打开日历:

driver.findElement(By.xpath("//div[@id='research-metrics']/div[2]/p[2]")).click(); 
driver.findElement(By.xpath("//*[text()='27']")).click(); 

27 - 这是所选择的日期。我想知道是否可以使用一些变量来改变它,而不是改变这一行。

你知道该怎么做吗?

+0

你想能够动态地改变期望的选择日期? – Andremoniy 2015-03-19 12:06:54

+1

尝试类似:'xpath((“// * [text()='”+ i +“']”))'或者将语句设置为一个字符串并将其放入xpath? – Zorian 2015-03-19 12:09:28

回答

0
// If it some kind of date picker ui and NOT hidden then you can simply pass a parameter to the selector. 
String dateToPass = "30"; 
driver.findElement(By.xpath("//*[text()='" + dateToPass + "']")).click(); 
+0

我已经试过这个,但我可能写错了,它没有工作,它现在很perfetly,非常感谢你! :) – 2015-03-19 12:25:57

+0

那么你会接受答案吗? – Saifur 2015-03-19 12:59:43

+0

当然,对不起!祝你有美好的一天:) – 2015-03-19 13:39:23

0

试过这个东西吗?
1.

int date = 15; 
driver.findElement(By.xpath(("//*[text()='"+ date + "']")).click(); 

2.

int date = 15; 
String statement = ("//*[text()='"+ date + "']"); 
driver.findElement(By.xpath(statement).click(); 

,然后只用一种方法或用手改变int -variable(日期)