使用selenium webdriver从Jquery,日期选择器中选择一个日期

时间:2017-08-09 13:30:39

标签: selenium selenium-webdriver

  1. 访问Jquery https://jqueryui.com/datepicker/
  2. 的官方网站

    不允许单击输入文本,即使它有唯一的id =“datepicker”获取错误元素未找到异常,但当我通过添加jquery日期选择器在本地运行时,它的工作就像一个魅力。有人可以帮我解决不了!

    2)通过使用此网址,我可以选择任何内容,但它不适用于jquery官方网站,如上所述https://jqueryui.com/resources/demos/datepicker/default.html

    以下是我没有开始工作的实际代码

    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();
    

1 个答案:

答案 0 :(得分:1)

id="datepicker"元素位于frame之内。所以我们必须先切换到预期的frame,然后找到该元素,然后按如下方式调用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");