diff --git a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/scraper/URLCharityScraper.java b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/scraper/URLCharityScraper.java index 75709ec..53aa2dc 100644 --- a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/scraper/URLCharityScraper.java +++ b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/scraper/URLCharityScraper.java @@ -13,23 +13,25 @@ public class URLCharityScraper { ChromeOptions options; + String url; - public URLCharityScraper() { + public URLCharityScraper(String url) { this.options = new ChromeOptions(); options.addArguments("--headless=new"); options.addArguments("--window-size=1920,1080"); options.addArguments("--disable-gpu"); options.addArguments("--no-sandbox"); options.addArguments("--disable-dev-shm-usage"); + this.url = url; } - public String updateDescription(String url) { + public String updateDescription() { WebDriver driver = new ChromeDriver(options); WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(30)); StringBuilder descriptionString = new StringBuilder(); try { - driver.get(url); + driver.get(this.url); wait.until( ExpectedConditions.numberOfElementsToBeMoreThan(By.cssSelector(".information div"), 0)); @@ -56,13 +58,13 @@ public String updateDescription(String url) { return descriptionString.toString(); } - public boolean updateLogo() { + public String updateLogo() { WebDriver driver = new ChromeDriver(options); WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(30)); - String logoURL = ""; + String logoURL; try { - driver.get("https://www.innsamlingskontrollen.no/organisasjoner/anna-ministries/"); + driver.get(this.url); wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(".logo > img"))); @@ -72,16 +74,16 @@ public boolean updateLogo() { } finally { driver.quit(); } - return true; + return logoURL; } - public boolean updateCategories() { + public List updateCategories() { WebDriver driver = new ChromeDriver(options); WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(30)); List categoriesList = new ArrayList<>(); try { - driver.get("https://www.innsamlingskontrollen.no/organisasjoner/anna-ministries/"); + driver.get(this.url); wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(".tag-label"))); @@ -95,19 +97,18 @@ public boolean updateCategories() { driver.quit(); } - System.out.println(categoriesList); - - return true; + return categoriesList; } - public boolean updateKeyNumbers() { + public List updateKeyNumbers() { WebDriver driver = new ChromeDriver(options); WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(30)); String percentage; WebElement element; + List keyNumbersList = new ArrayList<>(); try { - driver.get("https://www.innsamlingskontrollen.no/organisasjoner/anna-ministries/"); + driver.get(this.url); wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath( "//li[.//h2[normalize-space()='Innsamlingsprosent']]//div[@class='graph']"))); @@ -117,7 +118,8 @@ public boolean updateKeyNumbers() { ); percentage = element.getAttribute("data-percentage"); - System.out.println(percentage); + + keyNumbersList.add(percentage); wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath( "//li[.//h2[normalize-space()='Administrasjonsprosent']]//div[@class='graph']"))); @@ -127,7 +129,8 @@ public boolean updateKeyNumbers() { ); percentage = element.getAttribute("data-percentage"); - System.out.println(percentage); + + keyNumbersList.add(percentage); wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath( "//li[.//h2[normalize-space()='Formålsprosent']]//div[@class='graph']"))); @@ -137,12 +140,13 @@ public boolean updateKeyNumbers() { ); percentage = element.getAttribute("data-percentage"); - System.out.println(percentage); + + keyNumbersList.add(percentage); } finally { driver.quit(); } - return true; + return keyNumbersList; } }