mudaças pré formatação do pc
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.common.by import By
|
||||
from selenium.webdriver.common.keys import Keys
|
||||
from selenium.webdriver.support.ui import WebDriverWait
|
||||
from selenium.webdriver.support import expected_conditions as EC
|
||||
from selenium_stealth import stealth
|
||||
import os
|
||||
import time
|
||||
|
||||
# Set download directory path
|
||||
download_dir = r"C:\Users\roberto.alves\Downloads\selenium_download"
|
||||
os.makedirs(download_dir, exist_ok=True)
|
||||
|
||||
# Chrome options
|
||||
options = webdriver.ChromeOptions()
|
||||
options.add_experimental_option("prefs", {
|
||||
"download.default_directory": download_dir,
|
||||
"download.prompt_for_download": False,
|
||||
"directory_upgrade": True
|
||||
})
|
||||
options.add_argument("--start-maximized")
|
||||
options.add_argument("--disable-blink-features=AutomationControlled")
|
||||
options.add_argument("--disable-infobars")
|
||||
options.add_argument("--disable-notifications")
|
||||
options.add_argument("--disable-extensions")
|
||||
options.add_argument("--profile-directory=Default")
|
||||
options.add_argument("--disable-popup-blocking")
|
||||
options.add_argument("--disable-dev-shm-usage")
|
||||
options.add_argument("--no-sandbox")
|
||||
options.add_argument("--disable-features=IsolateOrigins,site-per-process")
|
||||
options.add_argument("--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36")
|
||||
options.add_argument('--enable-unsafe-swiftshader')
|
||||
|
||||
# Create WebDriver instance
|
||||
driver = webdriver.Chrome(options=options)
|
||||
|
||||
# Apply stealth settings
|
||||
stealth(driver,
|
||||
languages=["en-US", "en"],
|
||||
vendor="Google Inc.",
|
||||
platform="Win32",
|
||||
webgl_vendor="Intel Inc.",
|
||||
renderer="Intel Iris OpenGL",
|
||||
fix_hairline=True,
|
||||
)
|
||||
|
||||
# Navigate and login
|
||||
driver.maximize_window()
|
||||
driver.get('https://sgi.e-boticario.com.br/Paginas/Separacao/ConsultarPosicaoEstoque.aspx')
|
||||
wait = WebDriverWait(driver, 90)
|
||||
|
||||
|
||||
usuario = wait.until(EC.presence_of_element_located((By.XPATH, '/html/body/form/main/div[2]/div/div[2]/div[1]/input')))
|
||||
usuario.send_keys( '15077405')
|
||||
print('usuario ok!')
|
||||
|
||||
senha = wait.until(EC.presence_of_element_located((By.XPATH, '/html/body/form/main/div[2]/div/div[2]/div[3]/input')))
|
||||
senha.send_keys('Admufal@2028')
|
||||
print('usuario ok!')
|
||||
|
||||
ok = wait.until(EC.presence_of_element_located((By.XPATH, '/html/body/form/main/div[3]/button/span[1]')))
|
||||
ok.click()
|
||||
print('enviar ok!')
|
||||
|
||||
try:
|
||||
|
||||
fechar_aviso = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="painelSuperior"]/div/a')))
|
||||
fechar_aviso.click()
|
||||
print('foi try')
|
||||
except:
|
||||
fechar_aviso = wait.until(EC.presence_of_element_located((By.XPATH, '/html/body/form/div[4]/div/div/a')))
|
||||
fechar_aviso.click()
|
||||
print('foi except')
|
||||
print('fechou aviso')
|
||||
|
||||
try:
|
||||
posicao_estoque = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="menu-cod-7"]/a')))
|
||||
posicao_estoque.click()
|
||||
posicao_estoque2 = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="submenu-cod-7"]/div/div[1]/ul/li[3]/a')))
|
||||
posicao_estoque2.click()
|
||||
posicao_estoque3 = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="submenu-cod-7"]/div/div[1]/ul/li[3]/ul/li[4]')))
|
||||
posicao_estoque3.click()
|
||||
print('foi posição try')
|
||||
except:
|
||||
print('foi posição except')
|
||||
posicao_estoque = wait.until(EC.presence_of_element_located((By.XPATH, '/html/body/form/div[4]/div[6]/div/div[1]/ul/li[3]/ul/li[4]/a')))
|
||||
posicao_estoque.click()
|
||||
|
||||
lupinha = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="ContentPlaceHolder1_LookupCodProduto_I2"]')))
|
||||
lupinha.click()
|
||||
print('clicou na lupinha' )
|
||||
|
||||
pesquisar = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="ContentPlaceHolder1_LookupCodProduto_ctl00_TesteControleID_buscarButton_btn"]')))
|
||||
pesquisar.click()
|
||||
|
||||
|
||||
registros_por_pg = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="ContentPlaceHolder1_LookupCodProduto_ctl00_TesteControleID_paginacao_registrosPorPaginaTextBox_T2"]')))
|
||||
registros_por_pg.send_keys(Keys.BACKSPACE)
|
||||
registros_por_pg.send_keys(Keys.BACKSPACE)
|
||||
registros_por_pg.send_keys('50')
|
||||
registros_por_pg.send_keys(Keys.TAB)
|
||||
print('mudou pra 50')
|
||||
|
||||
|
||||
time.sleep(2)
|
||||
with open(r'C:\Users\roberto.alves\Downloads\selenium_download\ConsultaPosicaoEstoque', "a", encoding="utf-8") as file:
|
||||
file.write("Codigo,Situação,Ciclo_Lancamento")
|
||||
|
||||
#try:
|
||||
xpath = "/html/body/form/div[4]/div[13]/div/div[1]/div[2]/div/div[1]/span[2]/div[1]/span[1]/span[2]/div[1]/div[2]/div[3]/div[2]/div/div/table/tbody/tr/td[2]/span/table/tbody/tr/td[11]"
|
||||
element = wait.until(EC.presence_of_element_located((By.XPATH, xpath)))
|
||||
print("Expected total:", element.text)
|
||||
#except:
|
||||
# print('deu erro na range x')
|
||||
|
||||
time.sleep(2)
|
||||
|
||||
rows = driver.find_elements(By.XPATH, "//table[contains(@id, 'produtosGrid')]//tr[td]")
|
||||
for x in range(2): #numero de paginas paginas
|
||||
for i in range(50): #linhas de texto por pagina
|
||||
print(x)
|
||||
|
||||
|
||||
|
||||
for i, row in enumerate(rows[:50], start=1): # Limit to 50 rows
|
||||
tds = row.find_elements(By.CLASS_NAME, "grid_celula")
|
||||
try:
|
||||
print(tds[0])
|
||||
except:
|
||||
print('n deu tds')
|
||||
codigo = driver.find_element(By.XPATH, f'/html/body/form/div[4]/div[13]/div/div[1]/div[2]/div/div[1]/span[2]/div[1]/span[1]/span[2]/div[1]/div[2]/div[3]/div[2]/div/div/div/div/table/tbody/tr[{i+1}]/td[2]').text
|
||||
print(codigo)
|
||||
#dados = str(tds)
|
||||
|
||||
|
||||
|
||||
#codigo = driver.find_element(By.XPATH, f'/html/body/form/div[4]/div[13]/div/div[1]/div[2]/div/div[1]/span[2]/div[1]/span[1]/span[2]/div[1]/div[2]/div[3]/div[2]/div/div/div/div/table/tbody/tr[{i+1}]/td[2]').text
|
||||
situacao = driver.find_element(By.XPATH, f'/html/body/form/div[4]/div[13]/div/div[1]/div[2]/div/div[1]/span[2]/div[1]/span[1]/span[2]/div[1]/div[2]/div[3]/div[2]/div/div/div/div/table/tbody/tr[{i+1}]/td[8]').text
|
||||
ciclo = driver.find_element(By.XPATH, f'/html/body/form/div[4]/div[13]/div/div[1]/div[2]/div/div[1]/span[2]/div[1]/span[1]/span[2]/div[1]/div[2]/div[3]/div[2]/div/div/div/div/table/tbody/tr[{i+1}]/td[10]').text
|
||||
|
||||
dados = list(codigo,situacao,ciclo)
|
||||
|
||||
with open(r'C:\Users\roberto.alves\Downloads\selenium_download\ConsultaPosicaoEstoque', "w", encoding="utf-8") as file:
|
||||
file.write(dados)
|
||||
|
||||
print('funcionou tudo!!!')
|
||||
time.sleep(30)
|
||||
@@ -0,0 +1,87 @@
|
||||
# main.py
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.common.by import By
|
||||
from selenium.webdriver.common.keys import Keys
|
||||
from selenium.webdriver.support.ui import WebDriverWait
|
||||
from selenium.webdriver.support import expected_conditions as EC
|
||||
from selenium_stealth import stealth
|
||||
import os
|
||||
import time
|
||||
|
||||
# Set download directory path
|
||||
download_dir = r"C:\Users\roberto.alves\Downloads\selenium_download"
|
||||
os.makedirs(download_dir, exist_ok=True)
|
||||
|
||||
# Chrome options
|
||||
options = webdriver.ChromeOptions()
|
||||
options.add_experimental_option("prefs", {
|
||||
"download.default_directory": download_dir,
|
||||
"download.prompt_for_download": False,
|
||||
"directory_upgrade": True
|
||||
})
|
||||
options.add_argument("--start-maximized")
|
||||
options.add_argument("--disable-blink-features=AutomationControlled")
|
||||
options.add_argument("--disable-infobars")
|
||||
options.add_argument("--disable-notifications")
|
||||
options.add_argument("--disable-extensions")
|
||||
options.add_argument("--profile-directory=Default")
|
||||
options.add_argument("--disable-popup-blocking")
|
||||
options.add_argument("--disable-dev-shm-usage")
|
||||
options.add_argument("--no-sandbox")
|
||||
options.add_argument("--disable-features=IsolateOrigins,site-per-process")
|
||||
options.add_argument("--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36")
|
||||
options.add_argument('--enable-unsafe-swiftshader')
|
||||
|
||||
# Create WebDriver instance
|
||||
driver = webdriver.Chrome(options=options)
|
||||
|
||||
# Apply stealth settings
|
||||
stealth(driver,
|
||||
languages=["en-US", "en"],
|
||||
vendor="Google Inc.",
|
||||
platform="Win32",
|
||||
webgl_vendor="Intel Inc.",
|
||||
renderer="Intel Iris OpenGL",
|
||||
fix_hairline=True,
|
||||
)
|
||||
|
||||
# Navigate and login
|
||||
driver.maximize_window()
|
||||
driver.get('https://extranet.grupoboticario.com.br/mfe/mar/estoque/pre-consulta')
|
||||
wait = WebDriverWait(driver, 90)
|
||||
|
||||
usuario = wait.until(EC.presence_of_element_located((By.XPATH, '/html/body/div[2]/div/div/div[2]/div/div/div[1]/form/div[3]/div[1]/input')))
|
||||
usuario.send_keys('andressa.santos4')
|
||||
print('usuario ok!')
|
||||
|
||||
senha = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="password"]')))
|
||||
senha.send_keys('Admufal@202')
|
||||
|
||||
entrar = wait.until(EC.element_to_be_clickable((By.XPATH, '//*[@id="next"]')))
|
||||
entrar.click()
|
||||
print('entrou!!')
|
||||
|
||||
pdvs_select = wait.until(EC.element_to_be_clickable((By.XPATH, '/html/body/div[1]/div/div[2]/div[2]/div/div/div/div/div/div/div[2]/div[1]/div/button/span')))
|
||||
pdvs_select.click()
|
||||
print('pdvs clicado')
|
||||
time.sleep(20)
|
||||
|
||||
lojas = wait.until(EC.element_to_be_clickable((By.XPATH, '/html/body/div[1]/div/div[2]/div[2]/div/div/div/div/div/div/div[2]/div[1]/div/div/div[1]/div[2]/ul/li[1]/button/span[1]/div/label/span/svg')))
|
||||
lojas.click()
|
||||
|
||||
'''try:
|
||||
accordion_btn = wait.until(EC.element_to_be_clickable((By.XPATH, "/html/body/div[1]/div/div[2]/div[2]/div/div/div/div/div/div/div[1]/div/div[2]/div[1]/ul/li[1]/button")))
|
||||
accordion_btn.click()
|
||||
print('clicou no accordeon')
|
||||
time.sleep(20)
|
||||
|
||||
|
||||
consultar_estoque = wait.until(EC.element_to_be_clickable((By.XPATH, "/html/body/div[1]/div/div[2]/div[2]/div/div/div/div/div/div/div[1]/div/div[2]/div[1]/ul/li[1]/div/a/div/ul/li")))
|
||||
consultar_estoque.click()
|
||||
print('clicou no consultar')
|
||||
except:
|
||||
print('nao funcionou chat :(')'''
|
||||
|
||||
|
||||
time.sleep(50)
|
||||
|
||||
Reference in New Issue
Block a user