[英]How to select date from date fileds using watin framework
誰能告訴我如何使用WatiN在這些日期字段中自動選擇一個日期
( http://www.meanfreepath.com/javascript_calendar/livedemo.html )我已經以這個網站為例。
我試圖選擇一個隨機日期作為
foreach (SelectList sl in lists)
{
OptionCollection oc = sl.Options;
temp = random.Next(oc.Count);
oc[temp].Select();
}
它不起作用,因為日期字段不是選擇列表首先所有日期字段不是選擇列表
還有其他方法可以通過單擊日期字段並從中選擇一個隨機值來解決此難題?
您有兩個選擇:可以使用Filter
方法或對所有表單元格進行for循環。 我將在下面使用“ Filter
,因為它需要較少的代碼行。
查看Calendar的代碼,您應該看到它是一個基本的HTML表,並且該單元格由CSS類很好地定義。
示例的目標
選擇當月的任意一天
偽碼
實際代碼
Settings.HighLightElement = false; //If you don't do this, the calendar colors won't work correctly.
ie = new IE(true);
ie.GoTo("http://www.epoch-calendar.com/javascript_calendar/livedemo.html");
ie.Table("bas_cal_calendar").WaitUntilExists(5);
int totalDaysInMonth = ie.Table("bas_cal_calendar").TableCells.Filter(Find.ByClass(new Regex(@"wkday|wkend|wkday\scurdate"))).Count;
Random random = new Random();
int randomDay = random.Next(1,totalDaysInMonth + 1);
ie.Table("bas_cal_calendar").TableCell(Find.ByClass(new Regex(@"wkday|wkend|wkday\scurdate")) && Find.ByText(randomDay.ToString())).Click();
注意 :我猜當前日期是周末的CSS類可能會比較糟糕 。 這需要進行驗證,並根據需要更新RegExs。 注意 :單擊一天后,CSS類更改為* cell_selected *。
上面經過測試,使用WatiN 2.1和IE8效果良好
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.