如何使用selenium webdriver在Datepicker中选择开始日期和结束日期?

时间:2014-08-09 01:59:18

标签: java selenium datepicker

我必须使用datepicker生成报告。 我在Eclipse中使用了Selenium webdriver。

Firebug向我展示了xpath的开始日期,但是当我用java执行时,永远找不到xpath。所以我读了一些关于日期选择器的信息,但我无法找到开始日期和结束日期。

例如,开始日期应为:2014年8月20日,结束日期= 31-08-2014 你能帮助我吗,谢谢你。

以下是日期选择器的html代码:

<div class="input-append date datepicker-start" data-date-format="yyyy-mm-dd">
            <input class="span2 start-date" type="text" value="2014-08-20" placeholder="YYYY-MM-DD" size="16" name="start"></input>
            <span class="add-on">
                <i class="enticon-calendar"></i>
            </span>
        </div>
    </div>

</div>
<div class="control-group">

    <label class="control-label">

        End Date

    </label>
    <div class="controls">
        <div class="input-append date datepicker-end" data-date-format="yyyy-mm-dd" data-date="">
            <input class="span2 end-date" type="text" value="2014-08-31" placeholder="YYYY-MM-DD" size="16" name="end"></input>
            <span class="add-on">
                <i class="enticon-calendar"></i>
            </span>
        </div>
    </div>

</div>

找不到我用java执行的示例:

driver.findElement(By.xpath( “HTML / DIV / ..”))点击();

1 个答案:

答案 0 :(得分:0)

我建议你使用替代的CSS选择器方法。 要解决您的问题,请尝试以下操作:

1)[START DATE PICK ATTEMPT]尝试点击div元素

<div class="input-append date datepicker-start" data-date-format="yyyy-mm-dd">

=&GT;点击操作:

driver.findElement(By.cssSelector("div.input-append.date.datepicker-start")).click();

2)[START DATE PICK ATTEMPT]尝试点击上面div作为孩子的输入:

 <input class="span2 start-date" type="text" value="2014-08-20" placeholder="YYYY-MM-DD" size="16" name="start"></input>

=&GT;点击操作:

driver.findElement(By.cssSelector("input.span2.start-date")).click();

3)[END DATE PICK ATTEMPT]点击div

<div class="input-append date datepicker-end" data-date-format="yyyy-mm-dd" data-date="">

=&GT;点击操作:

 driver.findElement(By.cssSelector("div.input-append.date.datepicker-end")).click();

4)[END DATE PICK ATTEMPT] 点击输入

 <input class="span2 end-date" type="text" value="2014-08-31" placeholder="YYYY-MM-DD" size="16" name="end"></input>

 driver.findElement(By.cssSelector("input.span2.end-date")).click();

尝试这些替代方案,并告诉他们是否有效。