如何使用带有Java的Selenium WebDriver从日历弹出窗口中选择此类性别的日期(即日历24/04/2015)?
我试过这个:
package com.Automation;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class CalendarPopup {
/**
* @param args
*/
public static void main(String[] args) {
WebDriver driver = new FirefoxDriver();
driver.get("http://www.yatra.com/");
driver.findElement(By.id("//div[2]/ul[3]/li[1]/i")).click();
driver.findElement(By.id("a_2015_4_25")).click();
}
}
答案 0 :(得分:3)
您可以通过从ID中选择一天来点击一天,然后点击它
driver.findElement(By.id('a_2015_4_24')).click(); //use this format a_yyyy_m_d
您还可以通过点击日历箭头返回或前进:
driver.findElement(By.className('js_btnNext')).click() // click the "next" arrow
driver.findElement(By.className('js_btnPrev')).click() // click the "prev" arrow
请注意,您无法点击不可见的过去日期或日期,单击日期时日历也必须可见。
编辑:您在代码中错误地选择了元素,因为您通过id将xpath传递给函数来选择元素,它应该是这样的://....
driver.findElement(By.xpath("//div[2]/ul[3]/li[1]/i")).click();
driver.findElement(By.id('a_2015_4_24')).click();
//...