如何使用 selenium Web 驱动程序 C# 将日期字符串输入到 telerik 日期选择器文本框中?

How to input a date string into telerik date picker textbox using selenium web driver C#?

var dateTextBox = driver.FindElement(By.Id("ctl00_Content_TxtDateOfBirth_datePicker_dateInput"));

dateTextBox.Click();

dateTextBox.SendKeys(date);

driver.FindElement(By.Id("btnSave")).Click();

我有一个页面,其中有一个带有文本框的 Telerik 日期控件。用户在文本框中输入日期并单击保存按钮。

出于某种原因,当我 运行 测试时,它会将日期输入到文本框中,但是当它去保存时,它会清除日期控件的文本框,因此日期控件文本框中没有任何内容。

终于找到答案了

真正将值输入 telerik RAD 日期选择器的唯一方法是通过 java脚本命令

public void runScript(IWebDriver driver, String script)
{
    IJavaScriptExecutor js = driver as IJavaScriptExecutor;
    js.ExecuteScript(script);
}

public void setDatePicker(IWebDriver driver, String date, String Id)
{
    String script = string.Format("$find('{0}').set_selectedDate(new Date('{1}'))", Id, date);
    runScript(driver, script);
}

首先我为 java 脚本命令格式化一个字符串,然后 运行 运行Script 方法只执行脚本。希望这对以后 运行 参与其中的任何未来 BAT 开发人员有所帮助。