@serhey019
JS Developer

Как объединить List и метод в один метод в Java?

Нужно сделать рефакторинг, чтобы реализовать 1 общий метод, в который будут подставляться параметры.
Могу реализовать 2 методами List, но никак немогу понять реализацию чтобы это работало как 1 метод.

public class TicketsPage {

    By ticketsIdLocator = By.xpath("//tbody//td[2]/span[1]");
    By ticketsTitleLocator = By.xpath("//tbody/tr[*]/td[3]/a[1]");

    public TicketsPage ticketColumns() {
        List<WebElement> ticketId = driver.findElements(ticketsIdLocator);
        List<WebElement> ticketTitle = driver.findElements(ticketsTitleLocator);

        List<String> ticketIdList = this.ticketsBase(ticketId);
        List<String> ticketTitleList = this.ticketsBase(ticketTitle);
    }
    public List<String> ticketsBase(List<WebElement> ticketElements) {
        List<String> ticketListBase = new ArrayList<>();

        for (int i = 0; i < ticketElements.size(); i++) {
            ticketListBase.add(ticketElements.get(i).getText());
        }
        return ticketListBase;
    }
}
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ответы на вопрос 1
al_gon
@al_gon
public class TicketsExtractor {

	public List<Ticket> extractTickets(String html) {
		List<WebElement> ticketElements = extractTicketsElements(html);
		List<Ticket> tickets = new ArrayList<>();
		for (WebElement ticketElement : ticketElements) {
			Ticket ticket = extractTicketAttributes(ticketElement);
			tickets.add(ticket);
		}
		return tickets;
	}

	List<WebElement> extractTicketsElements(String html) {
		// extraction logic
		return ticketElements;
	}

	Ticket extractTicketAttributes(WebElement ticketElement) {
		Ticket ticket = new Ticket();
		// extraction logic
		return ticket;
	}

	class Ticket {
		String id;
		String title;
	}
}


P.S.: Рассматривать как псевдокод.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы