Я пытаюсь использовать цикл while, чтобы выбрать город из предложенных названий аэропортов.Мне разрешено использовать только send.keys () и цикл while.Но, возможно, код зацикливается без остановки, выдавая ошибку.
Я попытался обойти цикл while:
public class syn2 {
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver", "C:\\Users\\everybody\\Desktop\\selenium\\library\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://alaskatrips.poweredbygps.com/g/pt/hotels?MDPCID=ALASKA-US.TPS.BRAND.hotels.HOTEL");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
WebElement a = driver.findElement(By.id("FH-origin"));
a.sendKeys("New");
int i = 0;
while (a.equals("New Haven, CT (HVN-All Airports)")) {
driver.findElement(By.id("FH-origin")).sendKeys(Keys.DOWN);
i++;
}
driver.findElement(By.id("FH-origin")).sendKeys(Keys.ENTER);
// System.out.println(driver.findElement(By.id("FH-origin")).getAttribute("value"));
WebElement b = driver.findElement(By.id("FH-destination"));
b.sendKeys("San Francisco");
int j = 0;
while (b.equals("San")) {
driver.findElement(By.id("FH-destination")).sendKeys(Keys.DOWN);
j++;
}
driver.findElement(By.id("FH-destination")).sendKeys(Keys.ENTER);
}
Следует выбрать New Haven, CT (HVN-Все аэропорты) и Сан-Франциско, Калифорния (SFO-Сан-Франциско, международный)