Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from selenium import webdriver
- from selenium.webdriver.common.keys import Keys
- import pandas as ps
- from difflib import SequenceMatcher
- import urllib.request as urllib
- import imageio as IO
- from PIL import Image
- import os, errno
- import numpy as np
- def similar(a, b):
- return SequenceMatcher(None, a, b).ratio()
- UrlLogTo = "https://dam.ledvance.info/servlet/login"
- Username = "ledvance2016"
- Password = "ledvance2016"
- ClassName = "layout-preview pblink"
- def main():
- fileObject = open("size.txt", "r")
- Size = fileObject.readline()
- Size = int(Size)
- fileObject.close()
- driver = webdriver.Chrome(executable_path="C:/Users/mstan/Downloads/chromedriver_win32/chromedriver.exe")
- driver.get(UrlLogTo)
- fillingUsername = driver.find_element_by_id("user")
- fillingUsername.click()
- fillingUsername.send_keys(Username)
- fillingPassword = driver.find_element_by_id("password")
- fillingPassword.click()
- fillingPassword.send_keys(Password)
- fillingPassword.send_keys(Keys.ENTER)
- dataFrame = ps.read_excel("LEDVANCE-kartoteka.xlsx")
- ids = dataFrame['Kod producenta']
- description = dataFrame['Nazwa']
- np.savetxt("description.txt", description, fmt='%s')
- for i in range(1,Size):
- firstId = ids[i]
- firstName = description[i]
- wordsToSearch = firstName.split()
- fillingSearchFor = driver.find_element_by_name("simpleValue")
- fillingSearchFor.click()
- fillingSearchFor.send_keys(firstId)
- eansearch = driver.find_element_by_name("eansearch")
- eansearch.click()
- originalURL = driver.current_url
- elements = driver.find_elements_by_tag_name("a")
- elements.__len__()
- z = 0
- #kombinować z foorlopem
- if not os.path.exists('{0}'.format(i)):
- os.makedirs('{0}'.format(i))
- for y in range(elements.__len__()):
- try:
- elements = driver.find_elements_by_tag_name("a")
- print("iterator {0}".format(y))
- splittedName = elements[y].get_attribute('name').split('_')
- fullname = ''
- for word in splittedName:
- fullname = fullname+' '+word
- print (fullname)
- print(similar(fullname,firstName))
- if((elements[y].get_attribute('class') == 'layout-preview pblink') and (similar(elements[y].get_attribute('name'),firstName)>0.1) ):
- z = z + 1
- Url = elements[y].get_attribute('href')
- slicedUrl = Url[70:]
- Name = elements[y].get_attribute('name')
- slicedName = Name[10:]
- driver.get(Url)
- print("entered")
- filename = '{0}.png'.format(z)
- driver.save_screenshot(filename)
- urlToPhoto = driver.find_element_by_tag_name('img')
- size = urlToPhoto.size
- location = urlToPhoto.location
- im = Image.open(filename)
- left = location['x']
- top = location['y']
- right = location['x'] + size['width']
- bottom = location['y'] + size['height']
- im = im.crop((left, top, right, bottom))
- directoryOfFileToCreate = '{0}/'.format(i)
- if not os.path.exists(directoryOfFileToCreate):
- os.makedirs(directoryOfFileToCreate)
- directoryOfScreen = directoryOfFileToCreate + '{0}.png'.format(z)
- im.save(directoryOfScreen)
- driver.get(originalURL)
- except Exception:
- print("some error")
- print(i)
- print("iteration -------------------")
- input("")
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement