この質問に対する回答は、使用しているカレンダープラグインによって大きく異なります。
問題を再現するために、セマンティックUIフロントエンドフレームワーク(セマンティックUIはきちんとしている、それもチェックしてください:)で日付ピッカーを使用しました。
とにかく、何が起こっているのかをもっと明確にするため、FirebugとFirepathプラグインをmozillaブラウザにインストールすることをお勧めします。
このインストールを完了したと仮定すると、あなたの人生は今のところ単純になります。私の場合は、ポップアップが表示されますが、これはリンク付きの日付表だけです。だから次のようにします:
- まず、入力ボックスをクリックしてポップアップを開きます。 Firepathプラグインに入力ボックスを配置します。以下のスクリーンショットを参照してください: 注:強調表示された領域は、現在隠されているポップアップですが、まだ入力ボックスをクリックしていません!
- 次に、私は拾いたい日付を見つけるためにFirepathを検索します。 だから私は、以下に示すように、基本的table要素であるこの日付に対応する日付テーブル内の要素を検索する必要があります:赤丸に下記のように私は私の日として2月1日を選択したいとし
- 次に、Selenium IDEを使用してクリックアクションを実行できるように、テーブルにこの日付要素のxパスが必要です。 xパスを取得するには、以下のように要素を右クリックします。
- この情報をすべて使用して、次のことを行います。まず、入力コマンドをクリックしてclickAt希望の日付に対応するテーブル要素をクリックする。入力ボックスのクリックコマンドにポップアップが表示され、希望の日付のclickAtコマンドの後にポップアップが表示されなくなります。コードは以下の通りです:
注:これは私はあなたが私はあまりにもあなたのユースケースでそれを行うことができたい場合は、あなたの問題を複製することを選んだ日付ピッカーのとおりですが、あなたが共有する必要があります私のためにあなたのページの完全なHTMLがあなたを助ける!
私は何かを理解することができず、助けが必要な場合は、コメントの特定のポイントについてページまたはクエリのソースコードを共有してください。次のように
jsbinコードは次のとおりです。
$('#example1').calendar();
$('#example2').calendar({
type: 'date'
});
$('#example3').calendar({
type: 'time'
});
$('#rangestart').calendar({
type: 'date',
endCalendar: $('#rangeend')
});
$('#rangeend').calendar({
type: 'date',
startCalendar: $('#rangestart')
});
$('#example4').calendar({
startMode: 'year'
});
$('#example5').calendar();
$('#example6').calendar({
ampm: false,
type: 'time'
});
$('#example7').calendar({
type: 'month'
});
$('#example8').calendar({
type: 'year'
});
$('#example9').calendar();
$('#example10').calendar({
on: 'hover'
});
var today = new Date();
$('#example11').calendar({
minDate: new Date(today.getFullYear(), today.getMonth(), today.getDate() - 5),
maxDate: new Date(today.getFullYear(), today.getMonth(), today.getDate() + 5)
});
$('#example12').calendar({
monthFirst: false
});
$('#example13').calendar({
monthFirst: false,
formatter: {
date: function (date, settings) {
if (!date) return '';
var day = date.getDate();
var month = date.getMonth() + 1;
var year = date.getFullYear();
return day + '/' + month + '/' + year;
}
}
});
$('#example14').calendar({
inline: true
});
$('#example15').calendar();
<!DOCTYPE html>
<html>
<head>
<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
<link href="https://cdn.rawgit.com/mdehoog/Semantic-UI/6e6d051d47b598ebab05857545f242caf2b4b48c/dist/semantic.min.css" rel="stylesheet" type="text/css" />
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<script src="https://cdn.rawgit.com/mdehoog/Semantic-UI/6e6d051d47b598ebab05857545f242caf2b4b48c/dist/semantic.min.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<div class="ui container">
<h1>Calendar examples</h1>
<h3>Input</h3>
<div class="ui calendar" id="example1">
<div class="ui input left icon">
<i class="calendar icon"></i>
<input type="text" placeholder="Date/Time">
</div>
</div>
<br/>
<h3>Date only</h3>
<div class="ui calendar" id="example2">
<div class="ui input left icon">
<i class="calendar icon"></i>
<input type="text" placeholder="Date">
</div>
</div>
<br/>
<h3>Time only</h3>
<div class="ui calendar" id="example3">
<div class="ui input left icon">
<i class="time icon"></i>
<input type="text" placeholder="Time">
</div>
</div>
<br/>
<h3>Range</h3>
<div class="ui form">
<div class="two fields">
<div class="field">
<label>Start date</label>
<div class="ui calendar" id="rangestart">
<div class="ui input left icon">
<i class="calendar icon"></i>
<input type="text" placeholder="Start">
</div>
</div>
</div>
<div class="field">
<label>End date</label>
<div class="ui calendar" id="rangeend">
<div class="ui input left icon">
<i class="calendar icon"></i>
<input type="text" placeholder="End">
</div>
</div>
</div>
</div>
</div>
<br/>
<h3>Year first</h3>
<div class="ui calendar" id="example4">
<div class="ui input left icon">
<i class="calendar icon"></i>
<input type="text" placeholder="Date/Time">
</div>
</div>
<br/>
<h3>Initial value</h3>
<div class="ui calendar" id="example5">
<div class="ui input left icon">
<i class="calendar icon"></i>
<input type="text" placeholder="Date" value="5/30/2015 3pm">
</div>
</div>
<br/>
<h3>24-hour</h3>
<div class="ui calendar" id="example6">
<div class="ui input left icon">
<i class="time icon"></i>
<input type="text" placeholder="Time">
</div>
</div>
<br/>
<h3>Month and year</h3>
<div class="ui calendar" id="example7">
<div class="ui input left icon">
<i class="time icon"></i>
<input type="text" placeholder="Time">
</div>
</div>
<br/>
<h3>Year only</h3>
<div class="ui calendar" id="example8">
<div class="ui input left icon">
<i class="time icon"></i>
<input type="text" placeholder="Time">
</div>
</div>
<br/>
<h3>Button</h3>
<div class="ui calendar" id="example9">
<div class="ui button">Select date</div>
</div>
<br/>
<h3>Hover</h3>
<div class="ui calendar" id="example10">
<div class="ui button">Hover me</div>
</div>
<br/>
<h3>Min/Max date</h3>
<div class="ui calendar" id="example11">
<div class="ui input">
<input type="text" placeholder="Date">
</div>
</div>
<br/>
<h3>Day first</h3>
<div class="ui calendar" id="example12">
<div class="ui input">
<input type="text" placeholder="Date">
</div>
</div>
<br/>
<h3>Custom format</h3>
<div class="ui calendar" id="example13">
<div class="ui input">
<input type="text" placeholder="Date">
</div>
</div>
<br/>
<h3>Inline</h3>
<div class="ui calendar" id="example14">
</div>
<br/>
<h3>Implicit inline (no popup activator)</h3>
<div class="ui calendar" id="example15">
</div>
<br/>
</div>
</body>
</html>
おかげAbhinav。私はカレンダーから選択して、ポップアップを「クリック」することなく開くことができます。しかし、何ヶ月か何年かを選択しなければならない場合(6月や前年になるかもしれません)、それらのXpathを取得して変更するか、スクロールのXpathを取得してスクリプトに複数回追加する必要があります。 (現在のスクリプトよりもはるかに早い場合は、スクリプトを短くしておくことはできないと思います)。したがって、日付を入力することを選択したので、日付を変更してスクリプトを変更する必要があっても、「値」を更新することができます。この場合、ポップアップを閉じることができません。 – Ses
ちょっとSES、遅く応答を親切に言い訳が、私が正しく理解している場合は、カレンダーのポップアップで多くのクリックを必要とする日付を入力しなければならないと、直接日付をキー入力することでこの問題を回避したい。 まあ、完全に誤解最初のクエリでクエリ! とにかく日付を入力するには、2のコマンドを使用できます。最初に日付を入力し、次にEnterキー($ {KEY_ENTER})を押します。これは私のために働いた、それを試してみて!日付形式が正確かどうかを確認するか、データ検証エラーが発生する可能性があります。 –
ありがとうAbhinav :)。コマンドが機能し、日付の問題なしに進めることができました。 –
Ses