バス予約サイト www.redbus.in で、旅行の日付を選択する必要があります...
Selenium WebDriver を使用してどのように行われますか?
以下のxpathで試してみてください
String month="Sept";
String date="28";
"//td[text()='"+month+"']/../..//a[text()='"+date+"']"
9月28日を選択します
要件に基づいて月と日付を指定します。
以下のロジックは、月間を移動するためのものです
driver.findElement(By.cssSelector("td.next")).click();
driver.findElement(By.cssSelector("td.previous")).click();
うまくいくといいのですが(自分のマシンでは試していません)
EDIT-I
マシンで以下のロジックを試しましたが、正常に動作しています。
driver=new FirefoxDriver();
driver.get("http://www.redbus.in");
//selecting date of journey
driver.findElement(By.id("calendar")).click(); driver.findElement(By.xpath("//td[text()='Sept']/../..//a[text()='27']")).click();
//selecting return jouney
driver.findElement(By.id("calendar1")).click(); driver.findElement(By.xpath("//td[text()='Oct']/../..//a[text()='3']")).click();
以下は、ポータルで使用する日付ピッカー フィールドのスクリーンショットです。その下は、日付ピッカーで強調表示された日付を選択するために使用するコードです。
if (!TestHelpers.IsElementPresent(By.Id(""), timeout, driver, verificationErrors))
return false;
if (driver.FindElement(By.Id("")).Enabled)
{
if (driver.FindElement(By.Id("")).Text == "")
{
driver.FindElement(By.Id("")).Click();
if (!TestHelpers.IsElementPresent(By.CssSelector("table.ui-datepicker-calendar > tbody > tr > td.ui-datepicker-days-cell-over.ui-datepicker-today > a.ui-state-default.ui-state-highlight"), timeout, driver, verificationErrors))
return false;
driver.FindElement(By.CssSelector("table.ui-datepicker-calendar > tbody > tr > td.ui-datepicker-days-cell-over.ui-datepicker-today > a.ui-state-default.ui-state-highlight")).Click();
if (driver.FindElement(By.Id("")).TagName == string.Empty)
return false;
}
}
日付または時刻を直接送信することもできます。
WebElement dateBox = driver.findElement(By.xpath("//form//input[@name='bdaytime']"));
//Fill date as mm/dd/yyyy as 09/25/2013
dateBox.sendKeys("09252013");
//Press tab to shift focus to time field
dateBox.sendKeys(Keys.TAB);
//Fill time as 02:45 PM
dateBox.sendKeys("0245PM");