Selenium Webdriver选择日期 [英] Selenium webdriver to select date

查看:92
本文介绍了Selenium Webdriver选择日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Selenium的新手,无法选择日期网站 http://www.redbus.in . 有人可以帮我吗?我试图将值传递给只读文本框,但徒劳无功.

I am newbie to Selenium and not able to select date website http://www.redbus.in. Can some one help me out? I tried to pass value to the read only text box, but it was in vain.

public static void setup() throws Exception {
    System.out.println("Browser Set up start.. ");
    driver = new FirefoxDriver();
    driver.manage().window().maximize();
    driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
    driver.get("http://www.redbus.in/");
    System.out.println("Browser Set up Completed ");
}

@Test
public static void SelectSrcDest() throws Exception {
    System.out.println("Constructing Url to open");

    driver.findElement(By.id("txtSource")).sendKeys("Bangalore");
    driver.findElement(By.id("txtDestination")).sendKeys("Chennai");


    driver.findElement(By.xpath("html/body/div[2]/div/section/div[1]/img")).click();
    driver.findElement(By.xpath("html/body/div[2]/div/section/div[1]/img")).click();

    JavascriptExecutor executor = (JavascriptExecutor)driver;
    executor.executeScript("window.document.getElementById('txtOnwardCalendar').setAttribute('value','27-Mar-2014')");
    driver.findElement(By.xpath("html/body/div[2]/div/section/div[4]/button")).click();
}

public static void main(String[] args) throws Exception {
    // TODO Auto-generated method stub

    setup();
    SelectSrcDest();
}

推荐答案

尝试通过ID找出元素.通过ID精确定位很容易.

Try to figure out the element through ID.. Its very easy to target exactly by the ID.

driver.findElement(By.id("txtOnwardCalendar")).click();
WebElement selectElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.className("monthTable first")));
Select select = new Select(selectElement);
select.selectByValue("2012");
Thread.sleep(6000);
WebElement dateWidget = driver.findElement(By.id("monthTitle"));
List<WebElement> columns011=dateWidget011.findElements(By.tagName("td"));
for (WebElement cell: columns011){
//Select  Month
if (cell.getText().equals("Feb")){
cell.findElement(By.linkText("Feb")).click();
break;
}
}

这篇关于Selenium Webdriver选择日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆