#!/usr/bin/env python
# coding: utf-8

# # Automação Web e Busca de Informações com Python
#
# #### Desafio:
#
# Trabalhamos em uma importadora e o preço dos nossos produtos é vinculado a cotação de:
# – Dólar
# – Euro
# – Ouro
#
# Precisamos pegar na internet, de forma automática, a cotação desses 3 itens e saber quanto devemos cobrar pelos nossos produtos, considerando uma margem de contribuição que temos na nossa base de dados.
#
# Base de Dados: https://drive.google.com/drive/folders/1KmAdo593nD8J9QBaZxPOG1yxHZua4Rtv?usp=sharing
#
# Para isso, vamos criar uma automação web:
#
# – Usaremos o selenium
# – Importante: baixar o webdriver

# In[30]:

# chromedriver -> Chrome
# geckodrive -> Firefox

from selenium import webdriver # criar o navegador
from selenium.webdriver.common.by import By # Localizar elementos – os itens de um site
from selenium.webdriver.common.keys import Keys # permite clicar teclas no teclado

navegador = webdriver.Chrome()

# Passo 1 – Entrar no google
navegador.get(“https://www.google.com/”)

# Passo 2 – Pesquisar a cotação do Dólar
navegador.find_element(By.XPATH, ‘/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input’).send_keys(“cotação dólar”)
navegador.find_element(By.XPATH, ‘/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input’).send_keys(Keys.ENTER)

# Passo 3 – Pegar a cotação do Dólar
cotacao_dolar = navegador.find_element(By.XPATH, ‘//*[@id=”knowledge-currency__updatable-data-column”]/div[1]/div[2]/span[1]’).get_attribute(‘data-value’)
print(cotacao_dolar)

# Passo 4 – Pegar a cotação do Euro
navegador.get(“https://www.google.com/”)

navegador.find_element(By.XPATH, ‘/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input’).send_keys(“cotação euro”)

navegador.find_element(By.XPATH, ‘/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input’).send_keys(Keys.ENTER)

cotacao_euro = navegador.find_element(By.XPATH, ‘//*[@id=”knowledge-currency__updatable-data-column”]/div[1]/div[2]/span[1]’).get_attribute(‘data-value’)

print(cotacao_euro)

# Passo 5 – Pegar a cotação do Ouro
navegador.get(“https://www.melhorcambio.com/ouro-hoje”)

cotacao_ouro = navegador.find_element(By.XPATH, ‘//*[@id=”comercial”]’).get_attribute(‘value’)
cotacao_ouro = cotacao_ouro.replace(“,”,”.”)

print(cotacao_ouro)

# In[31]:

# !pip install selenium

# ### Agora vamos atualiza a nossa base de preços com as novas cotações

# – Importando a base de dados

# In[32]:

# Passo 6 – Atualizar a minha base de dados com as novas cotações
import pandas as pd

tabela = pd.read_excel(“Produtos.xlsx”)
display(tabela)

# – Atualizando os preços e o cálculo do Preço Final

# In[33]:

# atualizar a cotação de acordo com a moeda correspondente
# dólar
# as linhas onde a coluna “Moeda” = “Dólar”
tabela.loc[tabela[‘Moeda’] == “Dólar”, “Cotação”] = float(cotacao_dolar)

# euro
tabela.loc[tabela[‘Moeda’] == “Euro”, “Cotação”] = float(cotacao_euro)

# ouro
tabela.loc[tabela[‘Moeda’] == “Ouro”, “Cotação”] = float(cotacao_ouro)

# atualizar preço de compra = preço original * cotação
tabela[“Preço de Compra”] = tabela[“Preço Original”] * tabela[“Cotação”]

# atualizar preço de venda = preço de compra * margem
tabela[“Preço de Venda”] = tabela[“Preço de Compra”] * tabela[“Margem”]
display(tabela)

# # Agora vamos exportar a nova base de preços atualizada

# In[34]:

tabela.to_excel(“Produtos Novos.xlsx”, index=False)
navegador.quit()

# In[ ]: