硒:无法检查来自chrome / firefox的日期选择器上的元素

时间:2019-02-11 06:31:33

标签: java selenium selenium-chromedriver

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

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

await

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

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

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

屏幕截图 enter image description here

链接

<!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>

2 个答案:

答案 0 :(得分:0)

enter image description here

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

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

....
}

首先找到它是什么类型的日期选择器。如果是jquery日期选择器,则可以对其进行检查和处理。

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

答案 1 :(得分:0)

所以我已经完成了相同的日期选择器操作,但是前端是用angular js制作的,我将与您共享代码

enter image description here

enter image description here

所以我要做的是首先单击输入字段,然后使用日期格式的发送文本传递日期,然后我将向您显示代码。

 public static WebElement txtFRegEndDate(WebDriver driver)
    {
        WebElement element = null;
        WebDriverWait wait = new WebDriverWait(driver, 50);
        element = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@id='FarmerEndDate']")));
        return element;
    }

 WebElement txtFRegEndDate = FrDateSetPage.txtFRegEndDate(driver);
 txtFRegEndDate.clear();
 Thread.sleep(2000);
 txtFRegEndDate.sendKeys(datArr[8].toString());

对于我来说,这对我有用,上面的代码也在Java中,因此您可以在python中同样执行此操作,让我们知道您是否有任何疑问