DrissionPage es una página compuesta por controlador y sesión. Es una herramienta de integración de operaciones de automatización web basada en Python.
Utiliza el modo POM para encapsular métodos comunes de páginas y elementos, y viene con un conjunto de sintaxis de posicionamiento de elementos simple, intuitiva y elegante, que logra un cambio perfecto entre navegadores y solicitudes, teniendo en cuenta la conveniencia de la automatización del navegador y la alta eficiencia de solicitudes Eficiencia, y mejor aún, su uso es muy conciso y fácil de usar, con menos código y amigable para los principiantes.
Al utilizar solicitudes de recopilación de datos, cuando se enfrenta a un sitio web en el que desea iniciar sesión, debe analizar paquetes de datos y código fuente JS, construir solicitudes complejas y, a menudo, tener que lidiar con métodos anti-rastreo, como códigos de verificación y ofuscación JS. y parámetros de firma. El umbral es alto. Si los datos se generan mediante cálculo JS, el proceso de cálculo debe reproducirse, lo que resulta en una mala experiencia y una baja eficiencia de desarrollo.
El uso de un navegador puede evitar en gran medida estos problemas, pero el navegador no es muy eficiente. Por lo tanto, esta biblioteca los combina en uno, cambia los modos correspondientes cuando sea necesario y proporciona un método de uso humanizado para mejorar la eficiencia del desarrollo y la operación.
Además de fusionar las dos, esta biblioteca también encapsula funciones de uso común en unidades de páginas web y proporciona operaciones y declaraciones muy simples. Cuando se usa para operaciones automatizadas de páginas web, reduce la necesidad de considerar detalles y centrarse en la implementación de funciones, lo que la hace más. cómodo de usar.
Mantenga todo simple, intente proporcionar métodos de uso simples y directos y sea más amigable con los principiantes.
El autor ha superado innumerables obstáculos y ha resumido todas las experiencias en esta biblioteca. Tiene muchas funciones prácticas integradas y las funciones de uso común se han integrado y optimizado.
característica
1. El código está altamente integrado y el primer objetivo es un código conciso.
2. El objeto de la página se puede cambiar entre el navegador y las solicitudes a voluntad, y se conserva el estado de inicio de sesión.
3. Sintaxis de posicionamiento de elementos extremadamente simple pero poderosa, admite operaciones en cadena y el código es extremadamente conciso.
4. Los dos modos proporcionan API consistentes y una experiencia de uso consistente.
5. Diseño humanizado, que integra muchas funciones prácticas, lo que reduce en gran medida la carga de trabajo de desarrollo.
1. Puede reutilizar el navegador abierto cada vez que ejecute el programa. Por ejemplo, configure manualmente la página web en un estado determinado y luego use un programa para hacerse cargo, o maneje manualmente el inicio de sesión y luego use el programa para rastrear el contenido. No es necesario iniciar el navegador desde cero cada vez, lo cual es muy conveniente.
2. Utilice archivos ini para guardar configuraciones de uso común y llamarlas automáticamente. También proporciona una API de configuración conveniente para mantenerse alejado de elementos de configuración complicados.
3. La sintaxis de posicionamiento extremadamente concisa admite el posicionamiento de elementos directamente por texto y la obtención directa de elementos hermanos y elementos principales antes y después.
4. Potente herramienta de descarga, puede disfrutar de una función de descarga rápida y confiable al operar el navegador.
5. La herramienta de descarga admite múltiples métodos para manejar conflictos de nombres de archivos, crear automáticamente rutas de destino, desconectar y volver a intentar, etc.
6. La URL de acceso tiene una función de reintento automático y se puede configurar el intervalo y el tiempo de espera.
7. Al acceder a páginas web, la codificación se puede reconocer automáticamente sin configuración manual.
8. Los parámetros de enlace generan automáticamente atributos de Host y Referer de forma predeterminada.
9. Puede ocultar o mostrar directamente la ventana del proceso del navegador en cualquier momento, sin estar sin cabeza ni minimizado.
10. Puede descargar automáticamente el controlador Chrome apropiado, eliminando configuraciones problemáticas.
11. El elemento de búsqueda en modo d tiene espera incorporada y el tiempo de espera global o el tiempo de espera de búsqueda única se pueden configurar arbitrariamente.
12. El elemento de clic integra el método de clic js, y el método de clic se puede cambiar con un parámetro.
13. Los clics admiten reintentos fallidos, que se pueden utilizar para garantizar clics exitosos, determinar si la capa de máscara de la página web desaparece, etc.
14. La entrada de texto puede determinar automáticamente si se realizó correctamente y volver a intentarlo para evitar la entrada no válida o la eliminación en determinadas circunstancias.
15. El modo d admite xpath con todas las funciones, que puede obtener directamente un atributo de un elemento. Selenium no tiene esta función de forma nativa.
16. Admite la adquisición directa de la raíz de la sombra y opera los elementos debajo de ella como elementos ordinarios.
17. Admite el acceso directo al contenido de los pseudoelementos posteriores y anteriores.
18. Puede usar > directamente debajo del elemento para obtener los elementos secundarios directos del elemento actual usando el selector CSS. Este método de escritura no es compatible de forma nativa.
19. Simplemente puede usar lxml para analizar páginas o elementos en modo d, y la velocidad de rastreo de datos de páginas complejas mejora enormemente.
20. Los datos de salida se han transcodificado y procesado para una composición tipográfica básica a fin de reducir la duplicación del trabajo.
21. Se puede conectar fácilmente con selenio o solicitar código nativo para facilitar la migración del proyecto.
22. Al usar el empaquetado en modo POM, se puede usar directamente para pruebas y es fácil de expandir.
23. La configuración del modo d es compatible con debugger_address y otros parámetros al mismo tiempo, pero la configuración nativa no es compatible.
24. Hay muchos más que no están listados aquí...