Java 使用SeleniumWebDriver处理日期选择器
我的网页上有两个日期选择器,分别是开始日期和结束日期。我需要点击两个日期,但当我搜索元素时,有相同的元素被称为。但是有一个唯一的元素名。我如何调用这些元素 日期选择器1 HTML代码:-Java 使用SeleniumWebDriver处理日期选择器,java,selenium-webdriver,Java,Selenium Webdriver,我的网页上有两个日期选择器,分别是开始日期和结束日期。我需要点击两个日期,但当我搜索元素时,有相同的元素被称为。但是有一个唯一的元素名。我如何调用这些元素 日期选择器1 HTML代码:- <span>Start Date:</span> <input id="courseStartDate" class="date-range required hasDatepicker" type="text" size="20" value="" onchange="start
<span>Start Date:</span>
<input id="courseStartDate" class="date-range required hasDatepicker" type="text" size="20" value="" onchange="startDateChanged()" name="courseStartDate">
<img class="ui-datepicker-trigger" src="../../images/Calender.png" alt="..." title="...">
<span>End Date:</span>
<input id="courseEndDate" class="date-range required hasDatepicker" type="text" size="20" value="" onchange="endDateChanged()" name="courseEndDate">
<img class="ui-datepicker-trigger" src="../../images/Calender.png" alt="..." title="...">
开始日期:
日期选择器2 HTML代码:-
<span>Start Date:</span>
<input id="courseStartDate" class="date-range required hasDatepicker" type="text" size="20" value="" onchange="startDateChanged()" name="courseStartDate">
<img class="ui-datepicker-trigger" src="../../images/Calender.png" alt="..." title="...">
<span>End Date:</span>
<input id="courseEndDate" class="date-range required hasDatepicker" type="text" size="20" value="" onchange="endDateChanged()" name="courseEndDate">
<img class="ui-datepicker-trigger" src="../../images/Calender.png" alt="..." title="...">
结束日期:
首先,img
标记不是input
标记的子标记,而是紧跟其后的标记-兄弟标记。另外,在第五次尝试中,您试图引用img
的alt
属性,因此您应该编写@alt
,而不是alt
我建议使用class
属性而不是alt
,如下所示:
1) 开始日期
(.//*[@id='courseStartDate']/following-sibling::img[@class='ui-datepicker-trigger'])[1]
2) 结束日期
查看有关以下同级和xpath轴的更多信息。您可以使用列表处理日期选择器:
使用将年、月和日表中的所有值提取到列表中
循环并比较列表
的元素与输入:年、月和日
List yearList=驱动程序
.findElement(By.xpath(“/html/body/div[3]/div[3]/table/tbody”))
.findElements(按.tagName(“span”));
对于(int i=0;i
有关详细教程,请参阅以下博客文章:
我尝试了以下操作,但仍然没有单击日历1的图像。driver.findelelement(By.cssSelector(“img[alt='…'”)))。单击();2.driver.findElement(由.cssSelector(“输入[id=courseStartDate]”)创建);3.driver.findElement(由.cssSelector(“输入[id='courseStartDate']))。单击();4.driver.findElement(按名称(“courseStartDate”)。单击();5.driver.findElement(By.xpath(“./*[@id='courseStartDate']]/img[alt='…']”)。单击();我尝试使用给定的代码并将@添加到第五次尝试中,但仍然不起作用。你能提供其他解决方案吗?请提供一个更大的代码示例,让我看看在哪里以及如何使用给定的解决方案。您的代码是否封装在try/catch块中?虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-我格式化了你的答案。它本质上只是你链接的博客文章的一个副本。不幸的是,这并不能回答所提出的问题。让我重新表述一下我对这个问题的理解:如何获取给定“日期选择器”的HTML元素?。而您的答案是:如何在表中查找给定的“日期”(date\u dd\u MM\u yyyy[2]
)。请关注问题并进行咨询。