2016-09-01 9 views
1

上のボタンを私が最初にクリックし、「今日」ボタンをしようとしている、それが日付を記入し、コードを参照してください。それが「あるクリックして日付ピッカー要素ではなく、カレンダー1が、同じペイン

<div class="ui-datepicker-buttonpane ui-widget-content"> 
<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" data-handler="today" data-event="click">Today</button> 
<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" data-handler="hide" data-event="click">Done</button> 
</div> 

をUI-DatePickerの-buttonpane UIウィジェットコンテンツ」と次のようになります。 enter image description here

私はそれを開くために、以下を使用することができるよ:

Driver.Instance.FindElement(By.Id("NotAfterUtc")).Click(); 

しかし、それは動作しません]をクリックしようとしています。

  IWebElement button1 =  Driver.Instance.FindElement(By.TagName("button")); 
      IList<IWebElement> buttons1 =  button1.FindElements(By.LinkText("Today")); 

      foreach (IWebElement i in buttons1) 
      { 
       if (i.Text.Equals("Today")) 
       { 
        i.FindElement(By.LinkText("Today")).Click(); 
        break; 
       } 
      } 

答えて

2

より良い利用のCSSセレクタではなく、次のようにその要素を選択するためのXPathを使用します。

Driver.FindElement(By.CssSelector("button.ui-datepicker-current")) 
+0

ありがとう@OarpitO、これは本当に私の一日を保存しました! – QB1979

+0

それはあなたを助けてくれてうれしいです、答えを受け入れてください。 – OarpitO

+0

ちょうど@OarpitOをしました。ありがとう! – QB1979

1

ボタンではありません。 "//button[contains(text(),'Today')]" XPathの

+0

ありがとう@Grasshopperは、このメソッドをテストしただけで動作します。 – QB1979

0

私はあなたのコードではないので、日付ピッカーをテストする必要はありませんだと思います。私はそれが役に立てば幸い

Driver.Instance.FindElement(By.Id("NotAfterUtc").send_keys(DateTime.Now); 

: だから私のテストで私はdirectely DateTime.Now、このような何かを設定する書き込み!

+0

ありがとう@Ulisses Silva、これは実際には私のためには機能しませんでしたが、別の場所で使うことができます。 実際には、私はDatepickerをテストするべきではないでしょうが、これは私のシナリオの一部であり、このコンポーネントを使用する必要があります。私はそれを明示的にテストしていません。 ベスト – QB1979

関連する問題