删除数据并检索随机日期|的Watir

时间:2015-12-23 16:11:17

标签: ruby-on-rails watir

给出以下代码。

<ul class="search-fields clearfix">
<li class="charter-type-search clearfix">
<li class="destination-search where clearfix">
<li class="departure-search when clearfix">
  <div class="icon-heading">
  <div class="icon-search holiday-search-fields form-type-select form-item-date">
  <select id="edit-date" class="form-select ajax-processed" name="date">
    <option selected="selected" value="">Anytime</option>
    <option value="2015-12">December 2015 (25)</option>
    <option value="2016-01">January 2016 (26)</option>
    <option value="2016-02">February 2016 (29)</option>
    <option value="2016-03">March 2016 (30)</option>
    <option value="2016-04">April 2016 (38)</option>
    <option value="2016-05">May 2016 (37)</option>
    <option value="2016-06">June 2016 (40)</option>
    <option value="2016-07">July 2016 (39)</option>
    <option value="2016-08">August 2016 (37)</option>
    <option value="2016-09">September 2016 (33)</option>
    <option value="2016-10">October 2016 (33)</option>
    <option value="2016-11">November 2016 (28)</option>
    <option value="2016-12">December 2016 (25)</option>
    <option value="2017-01">January 2017 (21)</option>
    <option value="2017-02">February 2017 (21)</option>
    <option value="2017-03">March 2017 (21)</option>
    <option value="2017-04">April 2017 (27)</option>
    <option value="2017-05">May 2017 (27)</option>
    <option value="2017-06">June 2017 (29)</option>
  </select>

我使用以下内容检索随机日期

all_options = b.select_list(id: "edit-date").options

b.select_list(id: "edit-date").option(index: rand(all_options.size)).select

如果我想删除前5个元素(12月15日 - 4月16日),那么随机选择其余的元素我该怎么做?我正在使用.drop(5),但它仍会选择其中一些日期。

1 个答案:

答案 0 :(得分:2)

作为参考,从列表中选择的典型方法是直接字符串:

b.select(id: 'edit-date').select('May 2017 (29)')

或正则表达式

b.select(id: 'edit-date').select(/May 2017/)

所有选择的方法都是定位,验证&amp;点击元素。当你得到选项列表时,前两个已经完成,所以你需要做的就是点击:

b.select(id: 'edit-date').options.drop(5).sample.click