У меня есть список, который имеет несколько ссылок в каждом разделе. Каждый раздел имеет разные ссылки. Мне нужно нажать на конкретную ссылку под каждым разделом. Я написал код ниже, но когда он выполняется, я не могу щелкнуть по второму разделу поля автозаполнения после щелчка по полю первого раздела автозаполнения.
Вот мой код При использовании for-each я не могу выбрать второе поле автозаполнения. Пожалуйста, покажите мне, как мне выйти из этого.
public class Autocomplete {
public static WebDriver driver;
public static void main(String[] args) throws InterruptedException {
ChromeOptions option = new ChromeOptions();
option.addArguments("--disable-notifications");
System.setProperty("webdriver.chrome.driver",".//src//browser//chromedriver.exe");
driver = new ChromeDriver(option);
driver.manage().window().maximize();
System.out.println("Browser Launch chrome");
driver.get("https://www.redbus.in/");
driver.findElement(By.xpath("//*[@id=\"src\"]")).sendKeys("ta");
AutocompleteRedbus.RebBus(By.xpath("//*[@id=\"src\"]"), "Tambaram, Chennai");
Thread.sleep(5000);
driver.findElement(By.xpath("//*[@id=\"dest\"]")).sendKeys("pon");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
AutocompleteRedbus.RebBus(By.xpath("//*[@id=\"dest\"]"), "Ponamaravathi");
}
}
Вышеупомянутый код метода вызова AutocompleteRedbus здесь:
public class AutocompleteRedbus extends Autocomplete{
public static void RebBus(By xpath , String text) throws InterruptedException {
List<WebElement> listOfLinks = driver.findElements(By.xpath("xpath"));
listOfLinks.forEach(link -> {
if (link.getText().equalsIgnoreCase("text")) {
link.click();
}
});
}
}