Necesidad de un nuevo marco de automatización

Escribí un script para iniciar sesión en un sitio web y descargar datos de clientes en forma de csv usando el paquete Selenium para Python. Desafortunadamente, el sitio web agregó recientemente un captcha al inicio de sesión. No me molestaría mucho ya que podría agregar una parte del código que espera hasta que resuelva el captcha, pero tarda casi 10 minutos en resolverlo. Estaba pensando que podría iniciar Selenium en el sitio web después de iniciar sesión, pero no pude encontrar una manera de conectar Selenium a un navegador ya abierto. Parece que el uso de selenio es lo que activa el captcha en primer lugar, ya que iniciar sesión en el sitio web sin él no es un problema. Estoy buscando otro marco que preferiblemente tenga una configuración fácil y pueda automatizar los navegadores ya abiertos, por lo que puedo abrir un navegador manualmente y luego ejecutar el código. Para acceder al archivo csv,

Respuestas (1)

Su mejor opción probablemente sea usar herramientas que simulen las pulsaciones de teclas y los clics del mouse, de modo que su secuencia de comandos no se distinga de la entrada física humana. Por lo general, dicha herramienta también necesita "reconocimiento visual" para manejar ciertas situaciones que se presentan. No estoy hablando de CAPTCHA, que sigue siendo demasiado difícil para cualquier herramienta de automatización que conozca. El punto es que tales herramientas podrían hacer cosas que Selenium no puede, y en su caso no deberían activar CAPTCHA en primer lugar, porque estarían usando el mismo navegador que usted usa manualmente.

Kantu parece que hace todo esto. Tenga en cuenta que no lo he usado personalmente. Pero parece que fue diseñado precisamente para el tipo de automatización que está tratando de hacer.

SikuliX sigue un plan de juego similar, pero fue diseñado para automatizar cualquier cosa en el escritorio, no específicamente el navegador. (Kantu se concibió originalmente como una herramienta de automatización web, pero supuestamente también se puede usar para el escritorio). Tampoco tengo experiencia con esto.

Hay una pregunta relacionada con Stack Overflow, que puede proporcionar otra opción o dos.

Lo que he usado personalmente es AutoHotkey , que puede servir como una especie de Sikuli de bricolaje. El "reconocimiento visual" en AutoHotkey es muy rudimentario; tiene que hacer mucho para crear sus propias imágenes recortando capturas de pantalla o probando píxeles en coordenadas específicas. Tengo que imaginar que tanto Kantu como SikuliX son mucho, mucho más fáciles de usar, pero sentí que al menos debería incluir algo con lo que tengo experiencia personal. La única razón por la que no tengo experiencia con Kantu o SikuliX es que mis propias necesidades de automatización hasta ahora han sido bastante básicas, y ya estaba usando AutoHotkey para teclas de acceso rápido y otras secuencias de comandos misceláneas fuera del navegador.

Hay una comparación muy aproximada de las tres herramientas que he mencionado. Está publicado en el mismo sitio que alberga a Kantu, por lo que puede adivinar que favorece a Kantu, pero la información presentada allí parece bastante justa.