Здравствуйте!
Занимаюсь автоматизацией, и появилась проблема автоматизировать таблицу на сайте (скриншот таблицы - Screenshot by Lightshot)
Вот на данный момент моя реализация этой таблицы
public class TableRoundsCompleted {
private SelenideElement code;
private SelenideElement title;
private SelenideElement state;
private SelenideElement location;
private SelenideElement dueDate;
private SelenideElement riskLevel;
private SelenideElement responsible;
public SelenideElement getTitle() {
return title;
}
public void setTitle(SelenideElement title) {
this.title = title;
}
public SelenideElement getCode() {
return code;
}
public void setCode(SelenideElement code) {
this.code = code;
}
public SelenideElement getState() {
return state;
}
public void setState(SelenideElement state) {
this.state = state;
}
public SelenideElement getLocation() {
return location;
}
public void setLocation(SelenideElement location) {
this.location = location;
}
public SelenideElement getDueDate() {
return dueDate;
}
public void setDueDate(SelenideElement dueDate) {
this.dueDate = dueDate;
}
public SelenideElement getRiskLevel() {
return riskLevel;
}
public void setRiskLevel(SelenideElement riskLevel) {
this.riskLevel = riskLevel;
}
public SelenideElement getResponsible() {
return responsible;
}
public void setResponsible(SelenideElement responsible) {
this.responsible = responsible;
}
public List<TableRoundsCompleted> getRoundsCompletedTable(){
List<TableRoundsCompleted> result = new ArrayList<>();
SelenideElement table = $(By.xpath(".//table[contains(@class, 'checklistParts')]"));
List<SelenideElement> rows = table.$$(By.xpath(".//tbody/tr[contains(@class, 'ng-scope') and not(contains(@class, 'checklistParts__collapse'))]"));
for (int i = 0; i < rows.size() ; i++) {
result.add(i, setRoundsCompletedTable(rows.get(i)));
}
return result;
}
private TableRoundsCompleted setRoundsCompletedTable(SelenideElement row) {
List<SelenideElement> columns = row.$$(By.xpath(".//td"));
TableRoundsCompleted result = new TableRoundsCompleted();
result.setCode(columns.get(0));
result.setTitle(columns.get(1));
result.setState(columns.get(2));
result.setLocation(columns.get(3));
result.setDueDate(columns.get(4));
result.setRiskLevel(columns.get(5));
result.setResponsible(columns.get(6));
return result;
}
}
На выходе я получаю коллекцию данных из этой таблицы (Screenshot by Lightshot)
Подскажите пожалуйста, как мне отсортировать эти данные и получить те элементы у которых state = “NO” ?