DrissionPage est une page composée d'un pilote et d'une session. Il s'agit d'un outil d'intégration d'opérations d'automatisation Web basé sur Python.
Il utilise le mode POM pour encapsuler les méthodes courantes de pages et d'éléments, et est livré avec un ensemble de syntaxes de positionnement d'éléments simples, intuitives et élégantes, qui permet une commutation transparente entre les navigateurs et les requêtes, en tenant compte de la commodité de l'automatisation du navigateur et de la haute efficacité de Demandes d'efficacité, et mieux encore, son utilisation est très concise et conviviale, avec moins de code et conviviale pour les novices.
Lorsque vous utilisez des requêtes de collecte de données, face à un site Web auquel vous souhaitez vous connecter, vous devez analyser les paquets de données et le code source JS, construire des requêtes complexes et souvent faire face à des méthodes anti-exploration telles que les codes de vérification, l'obscurcissement JS. , et les paramètres de signature. Le seuil est élevé. Si les données sont générées par le calcul JS, le processus de calcul doit être reproduit, ce qui entraîne une mauvaise expérience et une faible efficacité de développement.
L’utilisation d’un navigateur permet d’éviter largement ces écueils, mais le navigateur n’est pas très efficace. Par conséquent, cette bibliothèque les combine en un seul, change les modes correspondants si nécessaire et fournit une méthode d'utilisation humanisée pour améliorer l'efficacité du développement et de l'exploitation.
En plus de fusionner les deux, cette bibliothèque encapsule également les fonctions couramment utilisées dans des unités de page Web et fournit des opérations et des instructions très simples. Lorsqu'elle est utilisée pour des opérations de page Web automatisées, elle réduit le besoin de prendre en compte les détails et de se concentrer sur la mise en œuvre des fonctions, ce qui la rend plus efficace. pratique à utiliser.
Gardez tout simple, essayez de fournir des méthodes d'utilisation simples et directes et soyez plus convivial avec les novices.
L'auteur a surmonté d'innombrables pièges et a résumé toutes les expériences de cette bibliothèque. Il intègre de nombreuses fonctions pratiques et les fonctions couramment utilisées ont été intégrées et optimisées.
caractéristiques
1. Le code est hautement intégré, avec un code concis comme première recherche.
2. L'objet de la page peut être basculé entre le navigateur et les requêtes à volonté, et le statut de connexion est conservé.
3. Syntaxe de positionnement d'éléments extrêmement simple mais puissante, prend en charge les opérations en chaîne et le code est extrêmement concis.
4. Les deux modes fournissent des API cohérentes et une expérience d'utilisation cohérente.
5. Conception humanisée, intégrant de nombreuses fonctions pratiques, réduisant considérablement la charge de travail de développement.
1. Vous pouvez réutiliser le navigateur ouvert à chaque fois que vous exécutez le programme. Par exemple, définissez manuellement la page Web sur un certain état, puis utilisez un programme pour prendre le relais, ou gérez manuellement la connexion, puis utilisez le programme pour explorer le contenu. Il n’est pas nécessaire de redémarrer le navigateur à partir de zéro à chaque fois, ce qui est très pratique.
2. Utilisez les fichiers ini pour enregistrer les configurations couramment utilisées et les appeler automatiquement. Il fournit également une API de configuration pratique pour éviter les éléments de configuration compliqués.
3. La syntaxe de positionnement extrêmement concise prend en charge le positionnement des éléments directement par texte et l'obtention directe des éléments frères et des éléments parents avant et après.
4. Outil de téléchargement puissant, vous pouvez profiter d'une fonction de téléchargement rapide et fiable lors de l'utilisation du navigateur.
5. L'outil de téléchargement prend en charge plusieurs méthodes pour gérer les conflits de noms de fichiers, créer automatiquement des chemins cibles, se déconnecter et réessayer, etc.
6. L'URL d'accès dispose d'une fonction de nouvelle tentative automatique et l'intervalle et le délai d'expiration peuvent être définis.
7. Lors de l'accès aux pages Web, l'encodage peut être automatiquement reconnu sans réglage manuel.
8. Les paramètres de lien génèrent automatiquement les attributs d'hôte et de référent par défaut.
9. Vous pouvez masquer ou afficher directement la fenêtre de processus du navigateur à tout moment, sans être sans tête ni réduite.
10. Il peut télécharger automatiquement le pilote chrome approprié, éliminant ainsi les configurations gênantes.
11. L'élément de recherche en mode d a une attente intégrée, et le temps d'attente global ou le temps d'attente de recherche unique peut être défini arbitrairement.
12. L'élément click intègre la méthode click js, et la méthode click peut être commutée avec un paramètre.
13. Les clics prennent en charge les tentatives infructueuses, qui peuvent être utilisées pour garantir la réussite des clics, déterminer si la couche de masque de page Web disparaît, etc.
14. La saisie de texte peut déterminer automatiquement si elle a réussi et réessayer pour éviter une saisie ou un effacement non valide dans certaines circonstances.
15. Le mode d prend en charge XPath complet, qui peut obtenir directement un attribut d'un élément. Selenium n'a pas cette fonction de manière native.
16. Prend en charge l'acquisition directe de la racine fantôme et exploite les éléments situés en dessous comme des éléments ordinaires.
17. Prend en charge l'accès direct au contenu des pseudo-éléments après et avant.
18. Vous pouvez utiliser > directement sous l'élément pour obtenir les éléments enfants directs de l'élément actuel à l'aide du sélecteur CSS. Cette méthode d'écriture n'est pas supportée nativement.
19. Vous pouvez simplement utiliser lxml pour analyser des pages ou des éléments en mode D, et la vitesse d'exploration des données de pages complexes est grandement améliorée.
20. Les données de sortie ont été transcodées et traitées pour une composition de base afin de réduire la duplication du travail.
21. Il peut être facilement connecté à Selenium ou demander du code natif pour faciliter la migration du projet.
22. Grâce à l'emballage en mode POM, il peut être directement utilisé pour les tests et facile à développer.
23. La configuration du mode d est compatible avec debugger_address et d'autres paramètres en même temps, mais la configuration native n'est pas compatible.
24. Il y en a bien d’autres qui ne sont pas répertoriés ici…