|
|
@ -3,11 +3,9 @@ package ru.ulstu.grant.page;
|
|
|
|
import org.openqa.selenium.By;
|
|
|
|
import org.openqa.selenium.By;
|
|
|
|
import org.openqa.selenium.WebDriver;
|
|
|
|
import org.openqa.selenium.WebDriver;
|
|
|
|
import org.openqa.selenium.WebElement;
|
|
|
|
import org.openqa.selenium.WebElement;
|
|
|
|
import ru.ulstu.grant.model.GrantDto;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.text.ParseException;
|
|
|
|
import java.text.ParseException;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
|
|
|
import java.util.Date;
|
|
|
|
import java.util.Date;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.NoSuchElementException;
|
|
|
|
import java.util.NoSuchElementException;
|
|
|
@ -19,15 +17,7 @@ public class KiasPage {
|
|
|
|
this.driver = webDriver;
|
|
|
|
this.driver = webDriver;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public List<GrantDto> getKiasGrants() throws ParseException {
|
|
|
|
public boolean goToNextPage() {
|
|
|
|
List<GrantDto> newGrants = new ArrayList<>();
|
|
|
|
|
|
|
|
do {
|
|
|
|
|
|
|
|
newGrants.addAll(getGrantsFromPage());
|
|
|
|
|
|
|
|
} while (goToNextPage()); //проверка существования следующей страницы с грантами
|
|
|
|
|
|
|
|
return newGrants;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private boolean goToNextPage() {
|
|
|
|
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
if (driver.findElements(By.id("js-ctrlNext")).size() > 0) {
|
|
|
|
if (driver.findElements(By.id("js-ctrlNext")).size() > 0) {
|
|
|
|
driver.findElement(By.id("js-ctrlNext")).click();
|
|
|
|
driver.findElement(By.id("js-ctrlNext")).click();
|
|
|
@ -39,28 +29,17 @@ public class KiasPage {
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private List<WebElement> getPageOfGrants() {
|
|
|
|
public List<WebElement> getPageOfGrants() {
|
|
|
|
WebElement listContest = driver.findElement(By.tagName("tBody"));
|
|
|
|
WebElement listContest = driver.findElement(By.tagName("tBody"));
|
|
|
|
List<WebElement> grants = listContest.findElements(By.cssSelector("tr.tr"));
|
|
|
|
List<WebElement> grants = listContest.findElements(By.cssSelector("tr.tr"));
|
|
|
|
return grants;
|
|
|
|
return grants;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private String getGrantTitle(WebElement grant) {
|
|
|
|
public String getGrantTitle(WebElement grant) {
|
|
|
|
return grant.findElement(By.cssSelector("td.tertiary")).findElement(By.tagName("a")).getText();
|
|
|
|
return grant.findElement(By.cssSelector("td.tertiary")).findElement(By.tagName("a")).getText();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private List<GrantDto> getGrantsFromPage() throws ParseException {
|
|
|
|
public Date parseDeadLineDate(WebElement grantElement) throws ParseException {
|
|
|
|
List<GrantDto> grants = new ArrayList<>();
|
|
|
|
|
|
|
|
for (WebElement grantElement : getPageOfGrants()) {
|
|
|
|
|
|
|
|
GrantDto grantDto = new GrantDto(
|
|
|
|
|
|
|
|
getGrantTitle(grantElement),
|
|
|
|
|
|
|
|
parseDeadLineDate(grantElement));
|
|
|
|
|
|
|
|
grants.add(grantDto);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return grants;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private Date parseDeadLineDate(WebElement grantElement) throws ParseException {
|
|
|
|
|
|
|
|
String deadlineDate = getFirstDeadline(grantElement); //10.06.2019 23:59
|
|
|
|
String deadlineDate = getFirstDeadline(grantElement); //10.06.2019 23:59
|
|
|
|
SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy HH:mm");
|
|
|
|
SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy HH:mm");
|
|
|
|
return formatter.parse(deadlineDate);
|
|
|
|
return formatter.parse(deadlineDate);
|
|
|
|