首页 > 解决方案 > Selenium:无法从 chrome/firefox 检查日期选择器上的元素

问题描述

我在页面上有一个 DatePicker。当我点击它时,Datepicker 出现了。但我无法检查日期选择器上的任何日期。

请在下面找到附加的 HTML 代码

<!DOCTYPE html>
<html lang="en" dir="ltr">
<body class="toolbar-tray-open toolbar-horizontal toolbar-fixed toolbar- 
loading">
<div class="form-item__field js-form-item form-item js-form-type-date form- 
item-changed js-form-item-changed">
<input type="date" data-drupal-selector="edit-changed" data-drupal-date- 
format="Y-m-d" id="edit-changed" name="changed" value="" size="30" 
class="form-date form-item__element--date form-item__element" />
</body>
</html>

复制上面的代码并将其保存为 datePicker.html,然后在任何浏览器中打开。单击 DatePicker 字段并尝试检查

目标: 应该能够使用 selenium java 中的日期选择器检查元素并选择日期(或)应该能够使用 selenium java 验证日期选择器是否显示/存在

注意: 我能够将数据直接传递到日期框。但我的目标是使用日期选择器

截屏 在此处输入图像描述

关联

<!DOCTYPE html>
<html lang="en" dir="ltr">
<body class="toolbar-tray-open toolbar-horizontal toolbar-fixed toolbar-loading">
<div class="form-item__field js-form-item form-item js-form-type-date form-item-changed js-form-item-changed">
<input type="date" data-drupal-selector="edit-changed" data-drupal-date-format="Y-m-d" id="edit-changed" name="changed" value="" size="10" class="form-date form-item__element--date form-item__element" />
</body>
</html>

标签: javaseleniumselenium-chromedriver

解决方案


在此处输入图像描述

如果要检查 DatePicker 是否存在,请传递 datepicker 标题的定位器(例如:月份名称)并使用 if 条件

// Validate the title, so that you can find whether the date picker is present or not 
If(monthname.isdisPlayed()) {

....
}

首先找出它是什么类型的日期选择器。如果它是 jquery 日期选择器,您可以检查并处理它。

上面的日历是一个 jquery 日期选择器!


推荐阅读