NicolasDeminas / botafip

Bot para ingresar y descargar archivos de la pagina de AFIP
1 stars 0 forks source link

Working? #1

Open elmaxid opened 2 years ago

elmaxid commented 2 years ago

Hello is this code working? I tried with Linux and do not work. M.

NicolasDeminas commented 2 years ago

Hi! It had a few changes, but the core code should be working with Selenium 3.141.0 However it only works to download specific files from de web page of AFIP (Argentinian IRS) Do you need some help implementing something like this for your proyect?

elmaxid commented 2 years ago

Hola.! Si, seria buenísimo. Estoy queriendo desde hace unas semanas intentar descargas "mis comprobantes emitidos / recibidos" desde la AFIP, pero no logro hacerlo. Mi conocimiento en Python es muy bajo.

NicolasDeminas commented 2 years ago

Excelente, es justo lo que hace este proyecto Recien actualice los ultimos cambios que le vengo haciendo, si queres proba de descargarlo de nuevo, instala selenium 3.141.0 (en Windows se instala así: pip install Selenium==3.141.0 no se como será en linux) y descargate el chromeDriver (si usas otro navegador que no sea Chrome avisame y vemos que y donde cambiar para que funcione). Pone el archivo donde vos quieras y cambia ese path en el archivo paths dentro de la carpeta path (si, me mate con los nombres) Con eso hecho proba ejecutar el archivo /descargarComprobantes.py mandandole como argumento numero de cuil, contraseña, nombre de la empresa, recibidos/emitidos, cantidad de días que queres descargar (toma hoy menos la cantidad de días que le pases, el limite son 31)

elmaxid commented 2 years ago

Genial Nicolas. Voy a intentarlo. Muchas gracias por tu predisposición!

elmaxid commented 2 years ago

Hola, Luego de renegar en poder levantar el selenium (luego compartire el fix que tuve que hacerle) me esta dando el siguiente error:

Afip.changeMenu(self) File "/root/scrap/afip_/botafip/Afip.py", line 32, in changeMenu self.driver.find_element_by_xpath('/html/body/div/div/main/section[1]/div/ul/li[3]/a').click() File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 394, in find_element_by_xpath return self.find_element(by=By.XPATH, value=xpath) File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 978, in find_element 'value': value})['value'] File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute self.error_handler.check_response(response) File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div/div/main/section[1]/div/ul/li[3]/a"}

elmaxid commented 2 years ago

Intente buscar a mis comprobantes de varias maneras según pude ver, pero sigue sin localizar ese elemento:

  self.driver.find_element_by_link_text('Mis Comprobantes').click()
   self.driver.find_element_by_xpath('//*[text() = "Mis Comprobantes"]').click()
NicolasDeminas commented 2 years ago

Para buscar por link_text tenes que ver como se llama el link del boton, el href del componente al que queres hacer referencia Para buscar por xpath inspecciona la pagina y copia el full xpath del elemento que queres hacerle click