Вы можете установить значение с помощью JavaScript для ввода с ctl00_mainContent_txt_Fromdate
идентификатором для от даты и ctl00_mainContent_txt_Todate
идентификатором для до даты . Вы не увидите изменения значения в пользовательском интерфейсе, но оно работает.
js.executeScript("arguments[0].value = arguments[1]",
driver.findElement(By.id("ctl00_mainContent_txt_Fromdate")), "28-02-2020");
Вместо использования sleep
в коде, используйте WebDriverWait
, что заставляет WebDriver ожидать определенного условия и будет ждать только как Пока требуется.
WebDriver driver = new ChromeDriver();
WebDriverWait wait = new WebDriverWait(driver, 10);
JavascriptExecutor js = (JavascriptExecutor) driver;
driver.manage().window().maximize();
driver.get("https://www.spicejet.com/");
// Wait for Search button to be clickable, the state in which we assume that the site has loaded
WebElement searchButton = wait.until(ExpectedConditions.elementToBeClickable(By.id("ctl00_mainContent_btn_FindFlights")));
// Select From and To Cities
js.executeScript("arguments[0].value = arguments[1]",
driver.findElement(By.id("ctl00_mainContent_txt_Fromdate")), "28-02-2020");
js.executeScript("arguments[0].value = arguments[1]",
driver.findElement(By.id("ctl00_mainContent_txt_Todate")), "01-03-2020");
searchButton.click();