Prezados,
Estou tentando fazer uma ferramente que busca, num site, o status dos processos que solicitamos a este "fornecedor". Como são muitos processos, decidi criar um webscrap para fazer esse serviço. Inicialmente tentei com o Beautifulsoup, mas não deu muito certo, então mudei para o Selenium, acontece que estou tendo problemas com o driver do Chrome. envio a palicação que desenvolvi. Talvez vocês possam me ajudar:
rom selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import warnings
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
import csv
warnings.simplefilter("ignore", UserWarning)
#user_agent = "Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0"
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.92 Safari/537.36"
dcap = dict(DesiredCapabilities.CHROME)
dcap["chrome.page.settings.userAgent"] = user_agent
# instanciando o webdriver
#driver = webdriver.Chrome(desired_capabilities=dcap, service_args=['--ignore-ssl-errors=true'])
#driver = webdriver.Chrome(executable_path="chromedriver_win32/chromedriver.exe")
url = "https://ma.equatorialenergia.com.br/acompanhamento-de-protocolos/"
params = {"conta_contrato": "1000114729", "protocolo": "8028744626"}
# define as opções do navegador
options = webdriver.ChromeOptions()
#options.add_argument("--headless") # executa o navegador em modo headless (sem janela)
# inicia o navegador
driver = webdriver.Chrome(options=options, executable_path="chromedriver_win32/chromedriver.exe")
driver.set_window_size(1024, 768)
driver.set_page_load_timeout(120)
# carrega a página e insere os parâmetros
driver.get(url)
for param, value in params.items():
input_elem = driver.find_element_by_name(param)
input_elem.clear()
input_elem.send_keys(value)
input_elem.submit()
# extrai as informações desejadas da página resultante
protocolo = driver.find_element_by_xpath("/html/body/section[2]/div/div/div/section/div/div/div[2]/div[2]/div[1]/div/div[1]/div[2]/strong").text.strip()
data_solicitacao = driver.find_element_by_xpath("/html/body/section[2]/div/div/div/section/div/div/div[2]/div[2]/div[1]/div/div[2]/div[1]/strong").text.strip()
status = driver.find_element_by_xpath("/html/body/section[2]/div/div/div/section/div/div/div[2]/div[2]/div[4]/div/div[2]/div/div/span").text.strip()
print(f"Protocolo: {protocolo}")
print(f"Data da Solicitação: {data_solicitacao}")
print(f"Status: {status}")
# fecha o navegador
driver.quit()
Infelizmente não está funcionando como deveria.