【问题标题】:Unable to click on date on calendar on selenium automation无法单击硒自动化日历上的日期
【发布时间】:2020-11-30 09:26:42
【问题描述】:

无法使用 JavascriptExecutor 点击日历日期

   **String dateVal = "November 22, 2020";
    js=(JavascriptExecutor)driver; 
    js.executeScript("arguments[0].click();", driver.findElement(By.xpath("//*[@class='flatpickr-day'and @aria-label='"+dateVal+"']")));**

在 inimage 中看到的 HTML TAGS

寻求您的反馈的解决方案可能是什么?

【问题讨论】:

  • 为什么不能使用click directy?
  • stackoverflow.com/questions/65064715/… 这可能会有所帮助
  • @Dip 为什么要使用arguments[0].click() 而不是久经考验且高效的click()
  • 感谢您的回复。我只是想点击日历控件上的日期(11 月 22 日)。问题似乎是使用 xpath driver.findElement(By.xpath("//*[@class='flatpickr-day'and @aria-label='"+dateVal+"']")

标签: selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

dom中类名中的空格是否会导致问题?如果是这样,请尝试在 xpath 中使用 contains,如下所示:

   String dateVal = "November 22, 2020";
    js=(JavascriptExecutor)driver; 
    js.executeScript("arguments[0].click();", driver.findElement(By.xpath("//*[contains(@class,'flatpickr-day') and @aria-label='"+dateVal+"']")));

或者只是尝试:

driver.findElement(By.xpath("//*[contains(@class,'flatpickr-day') and @aria-label='"+dateVal+"']")).click()

【讨论】:

  • 非常感谢 DMart 它与 js.executeScript("arguments[0].click();", driver.findElement(By.xpath("//*[contains(@class,'flatpickr -day') 和@aria-label='"+dateVal+"']")));
猜你喜欢
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多