【发布时间】:2021-06-13 06:27:02
【问题描述】:
我正在尝试查找第一个也是最后一个活动日期。在下图中,您可以看到第一个活跃日是 6 月 2 日。最后一个活跃日是 2022 年 6 月 1 日
我想获取第一个活动日期,即 June02,2021 和最后一个活动日期
我有这个代码打印 2021-5-3,它没有打印 2021-6-3
List<WebElement> columns = driver.findElements(By.xpath("//td[not(@class=' ui-datepicker-other-month ui-datepicker-unselectable ui-state-disabled') and not(@class=' ui-datepicker-week-end ui-datepicker-other-month ui-datepicker-unselectable ui-state-disabled') and not(@class=' ui-datepicker-unselectable ui-state-disabled ')]"));
ArrayList<String> yearList= new ArrayList<>();
ArrayList<String> monthList= new ArrayList<>();
ArrayList<String> dateList= new ArrayList<>();
for(int i=1;i<columns.size();i++){
yearList.add(driver.findElement(By.xpath("//td[@class=\" \"]")).getAttribute("data-year"));
monthList.add(driver.findElement(By.xpath("//td[@class=\" \"]")).getAttribute("data-month"));
dateList.add(driver.findElements(By.xpath("//td[@data-handler=\"selectDay\"]/..//a[@href]")).get(i).getText());
/*System.out.println(driver.findElements(By.xpath("//td[@data-handler=\"selectDay\"]/..//a[@href]")).get(i).getText() + "-"+
driver.findElement(By.xpath("//td[@class=\" \"]")).getAttribute("data-month") + "-"
+ driver.findElement(By.xpath("//td[@class=\" \"]")).getAttribute("data-year"));*/
}
System.out.println("1st Active Date " + yearList.get(0) +"-"+monthList.get(0)+"-"+dateList.get(0));
我还尝试单击“下一步”> 符号,直到获得最后一个活动日期。我尝试了下面的代码,但由于找不到元素异常而失败
if ((driver.findElement(By.xpath("//a[@class='ui-datepicker-next ui-corner-all' and @title='Next']")).isDisplayed())) {
driver.findElement(By.xpath("//a[@title='Next']")).click();
while(!(driver.findElement(By.xpath("//a[@class='ui-datepicker-next ui-corner-all ui-state-disabled' and @title='Next']")).isDisplayed()) ){
driver.findElement(By.xpath("//a[@title='Next']")).click();
}
/*if ((driver.findElement(By.xpath("//a[@class='ui-datepicker-next ui-corner-all ui-state-disabled' and @title='Next']")).isDisplayed())) {
break;
}*/
}
<a class="ui-datepicker-next ui-corner-all" data-handler="next" data-event="click" title="Next"><span class="ui-icon ui-icon-circle-triangle-e">Next</span></a>
2
1
<div id="ui-datepicker-div" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all" style="position: absolute; top: 222.562px; left: 243.688px; z-index: 1;"><div class="ui-datepicker-header ui-widget-header ui-helper-clearfix ui-corner-all"><a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="Prev"><span class="ui-icon ui-icon-circle-triangle-w">Prev</span></a><a class="ui-datepicker-next ui-corner-all" data-handler="next" data-event="click" title="Next"><span class="ui-icon ui-icon-circle-triangle-e">Next</span></a><div class="ui-datepicker-title"><span class="ui-datepicker-month">June</span> <span class="ui-datepicker-year">2021</span></div></div><table class="ui-datepicker-calendar"><thead><tr><th scope="col" class="ui-datepicker-week-end"><span title="Sunday">Su</span></th><th scope="col"><span title="Monday">Mo</span></th><th scope="col"><span title="Tuesday">Tu</span></th><th scope="col"><span title="Wednesday">We</span></th><th scope="col"><span title="Thursday">Th</span></th><th scope="col"><span title="Friday">Fr</span></th><th scope="col" class="ui-datepicker-week-end"><span title="Saturday">Sa</span></th></tr></thead><tbody><tr><td class=" ui-datepicker-week-end ui-datepicker-other-month ui-datepicker-unselectable ui-state-disabled"> </td><td class=" ui-datepicker-other-month ui-datepicker-unselectable ui-state-disabled"> </td><td class=" ui-datepicker-unselectable ui-state-disabled "><span class="ui-state-default">1</span></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">2</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">3</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">4</a></td><td class=" ui-datepicker-week-end " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">5</a></td></tr><tr><td class=" ui-datepicker-week-end " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">6</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">7</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">8</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">9</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">10</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">11</a></td><td class=" ui-datepicker-week-end ui-datepicker-today" data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default ui-state-highlight" href="#">12</a></td></tr><tr><td class=" ui-datepicker-week-end " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">13</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">14</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">15</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">16</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">17</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">18</a></td><td class=" ui-datepicker-week-end " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">19</a></td></tr><tr><td class=" ui-datepicker-week-end " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">20</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">21</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">22</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">23</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">24</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">25</a></td><td class=" ui-datepicker-week-end " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">26</a></td></tr><tr><td class=" ui-datepicker-week-end " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">27</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">28</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">29</a></td><td class=" " data-handler="selectDay" data-event="click" data-month="5" data-year="2021"><a class="ui-state-default" href="#">30</a></td><td class=" ui-datepicker-other-month ui-datepicker-unselectable ui-state-disabled"> </td><td class=" ui-datepicker-other-month ui-datepicker-unselectable ui-state-disabled"> </td><td class=" ui-datepicker-week-end ui-datepicker-other-month ui-datepicker-unselectable ui-state-disabled"> </td></tr></tbody></table></div>
提前感谢您的时间和帮助。
【问题讨论】:
-
你想找到当前月份的最后一个活动日期,还是让 selenium 继续点击下一个直到没有活动日期?
-
我们需要查看您的完整 HTML 来解决这个问题。请不要张贴图片;它们很难阅读,无法复制,而且无论如何都没有显示所有必要的信息。
-
@prakasht 继续点击直到我得到 2022 年 7 月 1 日 谢谢。
-
@C.Peck 长代码 我试着在底部放一些 HTML 代码。谢谢
-
HTML 没有帮助。你有这个网站的链接吗?