Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- """
- Created on Wed Jul 24 19:27:05 2019
- @author: João Victor Sierra
- @description: Script que atualiza automaticamente os livros da biblioteca
- """
- from selenium import webdriver
- from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
- from selenium.webdriver.common.by import By
- from selenium.webdriver.common.alert import Alert
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.webdriver.support import expected_conditions as EC
- import datetime
- binary = FirefoxBinary("C:\\Program Files\\Mozilla Firefox\\firefox.exe")
- driver = webdriver.Firefox(firefox_binary=binary, executable_path=r"C:\\geckodriver.exe")
- maxRenovacoes = 5
- site_facul = "https://www.unoeste.br/login"
- user = "" #LOGIN DA FACUL AQUI
- senha = "" #SENHA DA FACUL AQUI
- driver.get(site_facul)
- driver.find_element_by_name("login").send_keys(user)
- input_pass = driver.find_element_by_name("senha").send_keys(senha)
- driver.find_element_by_name("btnConfirmar").click()
- driver.get(driver.current_url)
- driver.find_element(By.XPATH, "/html/body/form/div[3]/div[1]/div/div[8]/div[1]/ul/li[5]/a").click()
- driver.find_element(By.XPATH, "//*[@id='ContentPlaceHolder_hlSituacaoBiblioteca']").click()
- driver.implicitly_wait(3000)
- driver.switch_to.window(driver.window_handles[1])
- driver.implicitly_wait(10000)
- driver.find_element(By.XPATH, "/html/body/div[1]/div[2]/section/div[2]/div/div[2]/div[1]/ul/li[2]/a").click()
- tabela_livros = driver.find_element(By.XPATH, "//*[@id='containerAbasConsulta']/div[3]/table/tbody")
- linhas = tabela_livros.find_elements(By.TAG_NAME, "tr")
- print("\n\nLIVROS EMPRESTADOS:\n\n")
- for linha in linhas:
- colunas = linha.find_elements(By.TAG_NAME, "td")
- nomeLivro = colunas[0].text
- dataEmprestimo = colunas[2].text.split(' ')[0]
- dataDevolucao = colunas[4].text
- numRenovacoes = colunas[5].text
- datetimeHoje = datetime.datetime.today()
- datetimeDevolucao = datetime.datetime.strptime(dataDevolucao, '%d/%m/%Y')
- print("Titulo: {}".format(nomeLivro))
- print("Data do emprestimo: {}".format(dataEmprestimo))
- print("Data para devolucao: {}".format(dataDevolucao))
- diferencaTempo = datetimeDevolucao - datetimeHoje
- print("{} dias para renovar".format(diferencaTempo.days + 1))
- if(diferencaTempo.days + 1 <= 1):
- if(numRenovacoes == maxRenovacoes):
- print("Esse livro já foi renovado o máximo de vezes possivel! Renove na biblioteca")
- else:
- linha.find_element(By.XPATH, "/html/body/div[1]/div[2]/section/div[2]/div/div[2]/div[3]/table/tbody/tr[1]/td[7]/a").click()
- Alert(driver).accept()
- element = WebDriverWait(driver, 50).until(EC.presence_of_element_located((By.CLASS_NAME, "tabelaDefault")))
- tabela_livros = driver.find_element(By.XPATH, "//*[@id='containerAbasConsulta']/div[3]/table/tbody")
- linhas = tabela_livros.find_elements(By.TAG_NAME, "tr")
- print("Livro renovado")
- else:
- print("Ainda nao está na hora de renovar este livro")
- print("\n")
- #driver.quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement