JSdatepicker で同様の状況にアプローチした方法を次に示します。
$today = Time.now.strftime("%e").gsub(" ", "") #one digit day of month without leading space
@browser.text_field(:id => /dateAvailable/).click
Watir::Wait.until(60) {@browser.div(:id => /dateAvailable_popup_cal/).td(:text => $today).exists?}
@browser.div(:id => /dateAvailable_popup_cal/).td(:text => $today).click
- 日付を設定または取得します。
- JSDatePicker オブジェクトを起動する text_field をクリックします
- カレンダーが実際にポップアップするまで待ちます
- 現在の月が表示されているので、今日の日付番号を選択します。
あなたの場合、月も設定する必要があります。ユーザーにこれを求めるか、「今日」を選択するかにかかわらず、理論は同じです。
$month = Date::MONTHNAMES[Date.today.month] #etc
多くの仮定を行う疑似コード (将来の日付のみ、カレンダーにテキストとして表示される月名など):
while !@jquerytablewindow.text.include?($month)
next_month_button.click
end
もちろん、ある日カレンダーに月を追加し、それでもコードを機能させたい場合を除き、毎月カウントする場合と比較して、私の方法に特定の利点はありません!