вы можете использовать:
List<WebElement> listOfLinks = driver.findElements(By.xpath("yourXpath"));
listOfLinks.forEach(link -> {
if (link.getText().equalsIgnoreCase("your text")) {
link.click();
}
});
forEach получит каждую ссылку из вашего списка и будет делать с каждой, что у вас есть, между этими скобками.В этом случае условие if.
Для второй части вы также можете использовать foreach.Вы также можете установить ожидание для каждой из них, поэтому для каждой ссылки она будет ждать определенное время.
Если вы хотите использовать лямбды, вам нужна java 8.
Редактировать: после информацииВы меня поймали, мне удалось написать это для вас:
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver",".//src//browser//chromedriver.exe");
yourMethodName("xpathExample", "xPathListPathExample", "iWantToFindThis","theTextIWantToComplete");
}
private static void yourMethodName(String xPathOfTheElement,String xPathListPath, String theTextYouWantToFind, String theTextYouWantToComplete) throws InterruptedException {
driver.findElement(By.xpath(xPathOfTheElement)).sendKeys(theTextYouWantToComplete);
Thread.sleep(2000);
List<WebElement> listOfLinks = driver.findElements(By.xpath(xPathListPath));
listOfLinks.forEach(link -> {
if (link.getText().equalsIgnoreCase(theTextYouWantToFind)) {
link.click();
}
});
}
Надеюсь, это достаточно ясно для вас.