使用SeleniumWebDriver从Jquery、日期选择器中选择一个日期 请访问Jquery的官方网站

使用SeleniumWebDriver从Jquery、日期选择器中选择一个日期 请访问Jquery的官方网站,selenium,selenium-webdriver,Selenium,Selenium Webdriver,不允许单击输入文本,即使它具有唯一id=“datepicker”获取错误元素未找到异常,但当我通过添加jquery日期选择器在本地运行时,它就像一个符咒一样工作。有人能帮我吗?我想不出来 2) 通过使用这个url,我可以选择任何东西,但它不适用于我上面提到的jquery官方网站 下面是我的实际代码,没有得到工作 System.setProperty("webdriver.chrome.driver","C:\\ProgramFiles\\chromedriver.exe"); dr

不允许单击输入文本,即使它具有唯一id=“datepicker”获取错误元素未找到异常,但当我通过添加jquery日期选择器在本地运行时,它就像一个符咒一样工作。有人能帮我吗?我想不出来

2) 通过使用这个url,我可以选择任何东西,但它不适用于我上面提到的jquery官方网站

下面是我的实际代码,没有得到工作

System.setProperty("webdriver.chrome.driver","C:\\ProgramFiles\\chromedriver.exe");

      driver=new ChromeDriver();
      driver.manage().window().maximize();
      driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
      driver.get("https://jqueryui.com/datepicker/");
      Thread.sleep(5000);
      driver.findElement(By.id("datepicker")).click();
带有
id=“datepicker”
的元素位于
框架内。因此,我们必须首先切换到预期的
,然后定位元素,然后调用
click()
方法,如下所示:

System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://jqueryui.com/datepicker/");
driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@class='demo-frame'][@src='/resources/demos/datepicker/default.html']")));
driver.findElement(By.id("datepicker")).click();
System.out.println("Datepicker Clicked");

将您的URL更改为,然后尝试我为什么要更改我的URL,因为datepicker位于IFrame中,我将为您提供IFrame的直接URL,以便您可以测试您的逻辑。否则请使用您在@DebanjanB答案中看到的内容