【问题标题】:set date and time in jquery date and time picker with selenium使用 selenium 在 jquery 日期和时间选择器中设置日期和时间
【发布时间】:2019-07-01 10:30:31
【问题描述】:

我正在努力在 jquery 日期和时间选择器中设置日期。我正在使用 jquery 日期和时间选择器,您可以找到 here

我正在使用 c# 编写使用 selenium 的自动化测试。这是日期选择器的 html

<input data-bind="value: dateTime, disable: sending" id="datetime" type="text" class="form-control date-time" data-provide="datepicker">

我试着这样设置日期

IJavaScriptExecutor js = (IJavaScriptExecutor) WebDriver;
js.ExecuteScript("document.querySelector('#datetime').value = '01/08/2019 10:40'");

但它没有设置任何东西

【问题讨论】:

  • 您看到任何错误吗?

标签: c# jquery selenium selenium-webdriver


【解决方案1】:

要设置 日期,您必须为 ElementToBeClickable() 诱导 WebDriverWait,您可以使用以下任一 Locator Strategies

  • CssSelector

    ((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].setAttribute('value','01/08/2019 10:40')", new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.CssSelector("input.form-control.date-time#datetime"))));
    
  • XPath

    ((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].setAttribute('value','01/08/2019 10:40')", new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.XPath("//input[@class='form-control date-time' and @id='datetime']"))));
    

【讨论】:

    猜你喜欢
    • 2011-08-14
    • 2012-09-11
    • 1970-01-01
    • 2011-03-27
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多