From a84997ea15d45de451a38bfbb1e592c318c0ccea Mon Sep 17 00:00:00 2001 From: romanschenk37 <84532681+romanschenk37@users.noreply.github.com> Date: Thu, 10 Mar 2022 14:59:19 +0100 Subject: [PATCH] created Main.py --- Main.py | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 Main.py diff --git a/Main.py b/Main.py new file mode 100644 index 0000000..ff20df7 --- /dev/null +++ b/Main.py @@ -0,0 +1,107 @@ +# pip install webdriver-manager +from selenium import webdriver +from selenium.webdriver.chrome.service import Service +from webdriver_manager.chrome import ChromeDriverManager +from selenium.webdriver.common.by import By +from PIL import Image + +import time +import os + +exit = False +print("Welcome to application Sonnendach") +print("Website is opening") + +try: + s = Service(ChromeDriverManager().install()) + driver = webdriver.Chrome(service=s) + driver.maximize_window() + driver.get("https://www.uvek-gis.admin.ch/BFE/sonnendach/") + driver.implicitly_wait(20) + + print("opening website was done.") + print("Make your Windows ready to create screenshots.") + input("Press Enter to start") + +except: + print("opening website failed") + exit = True + +filename_adresslist = input("Please type in Filename to read.") +file_split_char = "," +print("Reading File " + filename_adresslist) + +try: + adress_file = open(filename_adresslist, "r") + adress_list = adress_file.read().splitlines() + adress_file.close() + +except: + print("Reading file " + filename_adresslist + " failed.") + exit = True + +if(exit == False): + for i in range(len(adress_list)): + line = adress_list[i] + adress = line.split(file_split_char) + if((line == adress_list[0]) | ((adress[20][0:11] == "screenshots"))): + pass + else: + search_string = adress[15] + " " + adress[3] + " " + adress[11] + " " + adress[13] + search_bar = driver.find_element(By.ID, "searchTypeahead1") + search_bar.clear() + search_bar.send_keys(search_string) + driver.implicitly_wait(120) + + found = False + suggestions = driver.find_elements(By.XPATH, "//div[@class='tt-suggestion tt-selectable']") + for suggestion in suggestions: + if(suggestion.text == search_string): + found = True + suggestion.click() + driver.implicitly_wait(120) + break + + if(found): + + time.sleep(2) + url = driver.current_url + eignung = driver.find_element(By.ID, "eignung") + image_filename = "screenshots/" + eignung.text + " - " + search_string + ".png" + + adress[18] = url + adress[19] = eignung.text + adress[20] = image_filename + + adress_file = open(filename_adresslist, "w") + new_line_string = "" + for j in adress: + new_line_string = new_line_string + j + file_split_char + adress_list[i] = new_line_string + new_adress_list = "" + for j in adress_list: + new_adress_list = new_adress_list + (j) + "\n" + adress_file.write(new_adress_list) + adress_file.close() + + + + #featureElement = driver.find_element(By.XPATH, "// section[contains(string(),’START SCREENSHOT TESTING’)]") + #location = featureElement.location + #size = featureElement.size + driver.save_screenshot(image_filename) + #x = location["x"] + #y = location["y"] + #w = x + size["width"] + #h = y + size["height"] + #fullImg = Image.open(image_filename) + #cropImg = fullImg.crop(x, y, w, h) + #cropImg.save(image_filename) + # TODO Screenshot schneiden + + + print(image_filename + " was saved.") + else: + print("not found: " + search_string) + + input("finished. Press Enter to exit.") \ No newline at end of file