Maison  >  Article  >  développement back-end  >  Explication graphique détaillée du code sur la façon dont Python, Selenium et Autoit implémentent la fonction de téléchargement de fichiers

Explication graphique détaillée du code sur la façon dont Python, Selenium et Autoit implémentent la fonction de téléchargement de fichiers

黄舟
黄舟original
2017-08-23 11:36:062299parcourir

Cet article présente principalement la fonction de téléchargement de fichiers implémentée par python+selenium+autoit. Les amis qui en ont besoin peuvent s'y référer

Questions

Lors de l'automatisation de la couche UI côté Web, vous rencontrerez des opérations de téléchargement de fichiers. Les amis vous le demandent souvent. Voici un résumé des solutions

.

Le premier type : télécharger des fichiers avec type=file, similaire à ce qui suit

L'utilisation d'un code similaire à celui-ci peut être complétée :


driver.find_element('name','file').send_keys('./小强测试品牌.png')

Le deuxième type : à l'exception du premier, il est plus difficile à mettre en œuvre. Autoit est utilisé ici. Les étapes générales sont les suivantes :

1. Téléchargez et installez autoit, puis accédez au menu Démarrer. Vous pouvez voir ce qui suit

AutoIt Windows Info est utilisé pour identifier les informations de contrôle Windows

Compile Script to.exe est utilisé pour générer un fichier d'exécution exe à partir d'AutoIt

Run Script est utilisé pour exécuter des scripts AutoIt

SciTE Script Editor est utilisé pour écrire des scripts AutoIt

2. La fonction de téléchargement est la suivante

3. Identifiez les éléments, principalement la zone de saisie du nom de fichier et le bouton d'ouverture dans l'image ci-dessus. Utilisez AutoIt Windows Info pour terminer l'enregistrement. les résultats sont les suivants :

La classe de la zone de saisie du nom de fichier est "Edit" et l'instance est "1"

La classe du bouton d'ouverture est "Button" et l'instance est « 1 »

4. Écrivez un script à l'aide de SciTE Script Editor. Le contenu est le suivant :


ControlFocus("文件上传", "","Edit1")
WinWait("[CLASS:#32770]","",10)
ControlSetText("文件上传", "", "Edit1","D:python_workspaceQiangSEAutopic小强测试品牌.jpg")
Sleep(2000)
ControlClick("文件上传", "","Button1");

Dans le code ci-dessus, une attention particulière. doit être payé au mot « Téléchargement de fichier » qui est le titre de la boîte de dialogue qui apparaît après avoir cliqué sur le bouton de téléchargement. Cela peut être différent dans chaque système

Script de vérification

Assurez-vous que la boîte de dialogue de téléchargement de la page est ouverte, puis exécutez les outils de script>go

6 Ouvrez l'outil Compile Script to.exe et générez-le en tant que fichier exécutable exe

7. Appelez


Autres
up=self.driver.find_element('class name','avatar-uploader-trigger')
up.find_element('class name','ant-btn').click()
os.system('D:\python_workspace\QiangSEAuto\upload.exe')
time.sleep(20)

en script python. En fait, il existe d'autres solutions pour. ceux qui sont intéressés. Recherchez par vous-même, par exemple, vous pouvez également utiliser les méthodes suivantes :

Bibliothèque Python pywin32, identifiez le handle de la boîte de dialogue, puis utilisez la

Bibliothèque SendKeys<.>

keybd_event pour simuler les frappes au clavier

Résumé

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn