created Main.py
This commit is contained in:
		
							parent
							
								
									914e22fae5
								
							
						
					
					
						commit
						a84997ea15
					
				| 
						 | 
					@ -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.")
 | 
				
			||||||
		Loading…
	
		Reference in New Issue