


Analyse pratique Python des éléments de base des événements de simulation de sélénium et de clavier et de souris
Cet article vous apporte des connaissances pertinentes sur python, qui présente principalement les éléments de base de Selenium et les problèmes liés aux événements de simulation de clavier et de souris, notamment l'utilisation du module Keys pour simuler des événements de fonctionnement du clavier et l'utilisation de la classe Action pour simuler des événements de fonctionnement de la souris. , etc., examinons-les ci-dessous, j'espère que cela sera utile à tout le monde.
Apprentissage recommandé : Tutoriel vidéo Python
Lorsque nous localisons un élément spécifique, nous pouvons effectuer des opérations spécifiques sur cet élément, comme l'opération clic
effectuée dans le chapitre précédent. C'est l'opération la plus simple, webdriver
a d'autres opérations. Par exemple, les opérations de base sur les éléments (clic, saisie, effacement), ainsi que certaines opérations avancées telles que les événements de simulation de souris et de clavier, le traitement des fenêtres contextuelles, le changement de plusieurs pages, etc... Ce sont des choses dont nous avons besoin. comprendre, et ils sont souvent utilisés lors de tests automatisés. Certains scénarios de base rencontrés. Dans le chapitre d'aujourd'hui, apprenons d'abord les opérations de base des éléments et le fonctionnement des événements de simulation de souris et de clavier. click
操作。这是最简单的操作,webdriver
还有其他的操作。比如元素的基本操作(点击、输入、清除),还有一些高级操作如鼠标键盘模拟事件、弹出框处理、多页面切换等… 这些都是需要我们了解的内容,也是在做自动化测试的时候经常遇到的一些基本场景。今天这一章节,我们就先来学习一下元素的基本操作与鼠标键盘模拟事件的操作吧。
元素的基本操作
利用我们之前使用的本地 form.html
文件,练习一下元素的基本点击、输入、清除操作。
代码示例如下:
# coding:utf-8 from time import sleep from selenium import webdriver driver = webdriver.Chrome() # 启动 Chrome浏览器的 driver driver.maximize_window() # Chrome 浏览器最大化 driver.get('file:///Users/workspace/WEB_TEST_HTML/form.html') # 打开本地的 "form.html" 文件 sleep(1) email_element = driver.find_element_by_xpath('//*[@id="inputEmail"]') # 通过 xpath 定位 Email 输入框。 email_element.send_keys('username') # Email 输入框输入 "username" sleep(1) email_element.clear() # 清除 Email 输入框内容 sleep(1) email_element.send_keys('admin') # Email 输入框输入 "admin" driver.find_element_by_xpath('//*[@id="inputPassword"]').send_keys('123456') # Password 输入框输入 "123456" sleep(1) driver.find_element_by_xpath('/html/body/form/div[3]/div/button').click() # 通过 xpath 定位 "Sign in" 按钮并点击 driver.quit()
运行结果如下:
以上就是属于元素的基本操作,其实就是最简单最基本的操作,接下来我们继续看看高一点难度的操作 ---> 鼠标键盘模拟事件操作。
鼠标键盘模拟事件操作
利用我们本地的 sendkeys.html
文件,实现鼠标键盘的模拟事件操作。sendkeys.html
文件的页面元素如下图:
利用 Keys 模块模拟键盘操作事件
ps:使用 Keys 模块需要执行导入操作: "from selenium.webdriver.common.keys import Keys"
键盘模拟事件代码示例如下:
# coding:utf-8 from time import sleep from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Chrome() # 启动 Chrome浏览器的 driver driver.maximize_window() # Chrome 浏览器最大化 driver.get('file:///Users/workspace/WEB_TEST_HTML/sendkeys.html') # 打开本地的 "form.html" 文件 sleep(1) # 这里需要注意一下,因为我使用的是 Mac ,所以键盘 ctrl 事件是 "Keys.COMMAND" ,如果是 Win 系统的话,ctrl 事件是 "Keys.CONTROL" driver.find_element_by_id('A').send_keys((Keys.COMMAND, 'a')) # 通过 id 定位 "id = A" 的元素,执行键盘事件 command + a driver.find_element_by_id('A').send_keys((Keys.COMMAND, 'x')) # 通过 id 定位 "id = A" 的元素,执行键盘事件 command + x sleep(1) driver.find_element_by_id('B').send_keys((Keys.COMMAND, 'v')) # 通过 id 定位 "id = B" 的元素,执行键盘事件 command + v sleep(1) driver.find_element_by_id('B').send_keys((Keys.COMMAND, 'a')) # 通过 id 定位 "id = B" 的元素,执行键盘事件 command + a sleep(1) driver.find_element_by_id('B').send_keys((Keys.COMMAND, 'c')) # 通过 id 定位 "id = B" 的元素,执行键盘事件 command + c sleep(1) driver.find_element_by_id('A').send_keys((Keys.COMMAND, 'v')) # 通过 id 定位 "id = A" 的元素,执行键盘事件 command + v sleep(1) driver.quit()
运行结果如下:
利用 Action 类模拟鼠标操作事件
PS:模拟鼠标操作的场景并不是很多,了解即可。同时 Action 类需要执行 "from selenium.webdriver import ActionChains"
先来看一下,Action 类都支持哪些鼠标的常用操作。
- key_down:模拟鼠标按键按下
- key_up:模拟鼠标按键弹起
- click:模拟鼠标按键点击(单击)
- context_click:点击鼠标右键
- double_click:模拟鼠标按键点击(双击)
- send_keys:发送某个键到当前焦点的元素
- click_and_hold:点击鼠标左键,不松开(拖拽)
- release:释放、松开按住的鼠标按钮
- move_to:鼠标移动到…
- drag_and_drop:拖拽起来丢掉那里去…
- perform:无论做了什么操作,最后都需要
perform
去提交
PS:实际场景中不会是用很复杂的鼠标操作事件来进行 自动化Case
的编写,所以我们演示的也是比较简单的场景。
模拟鼠标事件
代码示例如下:
# coding:utf-8 from time import sleep from selenium import webdriver from selenium.webdriver import ActionChains driver = webdriver.Chrome() # 启动 Chrome浏览器的 driver driver.maximize_window() # Chrome 浏览器最大化 driver.get('file:///Users/workspace/WEB_TEST_HTML/sendkeys.html') # 打开本地的 "form.html" 文件 sleep(1) # 这里需要注意一下,因为我使用的是 Mac ,所以键盘 ctrl 事件是 "Keys.COMMAND" ,如果是 Win 系统的话,ctrl 事件是 "Keys.CONTROL" double_click_element = driver.find_element_by_id('A') # 通过 id 定位 "id = A" 的元素赋值给 double_click_element ActionChains(driver).double_click(double_click_element).context_click(double_click_element).perform() # 通过 ActionChains 类将 "driver" 转换,先双击、然后执行右击操作【这种串联起来的操作,叫做链式用法,可以根据这个链一直往下写】 sleep(2) ActionChains(driver).context_click(double_click_element).perform() # 通过 ActionChains 类将 "driver" 转换,然后执行右击操作 sleep(2) driver.quit()
运行结果如下:
以上就是使用 Action
类实现一些特殊场景的模拟,比较常用的就是 双击、右击、拖拽
等场景使用的略多一些,其他的场景使用 Action
Opérations de base sur les éléments
Utilisez le fichier localform.html
que nous avons utilisé auparavant pour pratiquer les opérations de base de clic, de saisie et d'effacement des éléments. L'exemple de code est le suivant : rrreee
Le résultat d'exécution est le suivant : 🎜🎜
🎜
Ce qui précède sont les opérations de base des éléments. En fait, ce sont les plus simples et les opérations les plus élémentaires. Continuons à les examiner. Examinons les opérations plus difficiles --->
🎜Opérations d'événements de simulation de souris et de clavier
🎜Utilisez notre fichier localsendkeys.html
pour implémenter des opérations d'événements de simulation de souris et de clavier. Les éléments de page du fichier sendkeys.html
sont les suivants : 🎜🎜
Utiliser le module Touches pour simuler les événements de fonctionnement du clavier
🎜 ps : Utiliser les clés Le module doit effectuer une opération d'importation : "from selenium.webdriver.common.keys import Keys"
🎜🎜L'exemple de code d'événement de simulation de clavier est le suivant : 🎜rrreee🎜Les résultats d'exécution sont les suivants : 🎜🎜
Utilisez la classe Action pour simuler des événements d'opérations de souris🎜
PS : Il n'existe pas beaucoup de scénarios pour simuler des opérations de souris, il suffit de les comprendre. Dans le même temps, la classe Action doit exécuter "from selenium.webdriver import ActionChains"
🎜🎜Tout d'abord, examinons les opérations de souris courantes prises en charge par la classe Action. 🎜blockquote>🎜PS : Dans les scénarios réels, les événements d'opération de souris très complexes ne seront pas utilisés pour écrire un
- key_down : Simuler l'appui sur le bouton de la souris
- key_up : Simuler la fenêtre contextuelle du bouton de la souris
- clic : Simuler le clic du bouton de la souris (clic)
- li>
- context_click : cliquez sur le bouton droit de la souris
- double_click : simule un clic avec le bouton de la souris (double-clic)
- send_keys : envoie une clé au élément ciblé
- click_and_hold : cliquez sur le bouton gauche de la souris sans le relâcher (glisser)
- release : relâchez et relâchez le bouton de la souris maintenu
- move_to : Déplacez la souris pour...
- glisser-déposer : glisser-déposer...
- effectuer : quelle que soit l'opération effectuée, vous devez
effectuer
pour soumettre à la finCas d'automatisation
, donc ce que nous démontrons est également un scénario relativement simple. 🎜🎜Simulation d'événements de souris
L'exemple de code est le suivant : 🎜rrreee🎜Les résultats d'exécution sont les suivants : 🎜
🎜🎜Ce qui précède est l'utilisation de l'
Action code> pour simuler certains scénarios spéciaux. Les plus couramment utilisés sont <code>double-clic, clic droit, glisser
et d'autres scénarios qui sont un peu plus utilisés. est moins utilisé dans d’autres scénarios. 🎜🎜Apprentissage recommandé : 🎜Tutoriel vidéo Python🎜🎜
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!

Pythonusahybridmodelofcompilation et interprétation: 1) thepythoninterpreterCompileSourCodeIntOplatform-indépendantBytecode.2) thepythonvirtualmachine (pvm) there examenesthisbytecode, équilibrage de l'usage de la performance.

Pythonisbothinterpretedand compiled.1) il est composédToByteCodeForportabilityAcrosplatforms.2) theytecodeisthenter interprété, permettant à OrdayNamictypingAndRapidDevelopment, bien que MaybeSlowerSlowerSwower, aisance.

Forloopsareideal quand vous savez que l'immatriculation des adressages a une avance, tandis que ce qui est de savoir si

Forloopsaseesesed whenthenUmberoFitations dissownininadvance, tandis que celle-ci a été utilisé sur les éléments de la dispense

Pythonisnotpurelyinterpreted; itusahybridapproachofbytecocecompilation andruntimeinterpretation.1) pythoncompilessourcecodeintoBytecode, whichStHenexEcutedythepythonVirtualMachine (pvm) .2)

ToconcaténateListSinpythonWithTheSameElements, Utilisation: 1) L'opératorTokeEpDuplicate, 2) ASETTOREMOVEUPLICATION, OR3) ListComprehensionfor pour la réduction de la réduction de la manière dont les directives.

PythonisaninterpretedLanguage, offrant une volonté et une flexibilité de la fin

UseforloopswhenthenUmberoFitationsknowninadvance, andwhileloopswHeniterationsDepenSonacondition.1) forloopsareidealforseenceslikelistsorranges.2) whileLoopsSuitscenarioswheretheloopContiesUnUesUsUlaspecificconditMetmecemet, utilesforUSERIRSURSoralgorititititititititititititititititittorititititititittorititititititititittorititititititititittoritititititititititititititititititittitititititititititititititititititittitititititititititititititititititittitititititititititititititititititittititititititititititititititititittititet


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire
