Невозможно выбрать название города на сайте (goibibo.com) - PullRequest
0 голосов
/ 08 июня 2019

Я новичок в селене.Я пытаюсь автоматизировать веб-сайт goibibo.com, и на веб-сайте я попытался ввести название города в текстовом поле «От» как «Ченнай» с помощью xpath, и он показывает некоторые рекомендации.Из этих рекомендаций я хочу выбрать "Chennai".

с использованием Selenium Java 3.141.59, Java SE 1.8.Я попытался с помощью библиотеки селена ключей.В котором, когда я ввел from как "Chennai", я пытаюсь нажать стрелку вниз и затем нажать клавишу ввода.(Я попытался сделать это вручную, и это сработало. Поэтому я устал делать это с библиотекой ключей селена, которая позволяет мне выполнять действия клавиатуры.) Изображение веб-сайта и раскрывающийся список

    WebDriver driver = new ChromeDriver();
    driver.get("https://www.goibibo.com");
    driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
    driver.findElement(By.id("gosuggest_inputSrc")).sendKeys("Chennai");
    driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS);
    driver.findElement(By.xpath("//input[@id='gosuggest_inputSrc']")).sendKeys(Keys.chord(Keys.ARROW_DOWN, Keys.ENTER));

Я ожидаю, что код для ввода текста chennai и в раскрывающемся списке он должен перейти к первому и нажмите кнопку ввода.Так что я получу необходимую исходную станцию ​​в текстовом поле «От».Код не показывает какую-либо ошибку.Это входит в ценность как Ченнаи и это.Не делать никаких действий.

1 Ответ

0 голосов
/ 08 июня 2019

Время из 1 секунды было недостаточно.Попробуйте приведенный ниже код, который позволяет избежать неявного ожидания.

 driver.get("https://www.goibibo.com/");
 driver.manage().window().maximize();

 driver.findElement(By.id("gosuggest_inputSrc")).sendKeys("Chennai");
 WebDriverWait wait = new WebDriverWait(driver, 10);
 wait.until(ExpectedConditions.presenceOfElementLocated(By.id("react-autosuggest- 
 1")));

 driver.findElement(By.id("gosuggest_inputSrc")).sendKeys(Keys.DOWN);
 driver.findElement(By.id("gosuggest_inputSrc")).sendKeys(Keys.ENTER);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...