Table des matières
元素的基本操作
鼠标键盘模拟事件操作
利用 Keys 模块模拟键盘操作事件
利用 Action 类模拟鼠标操作事件
Opérations de base sur les éléments
Opérations d'événements de simulation de souris et de clavier
Utiliser le module Touches pour simuler les événements de fonctionnement du clavier
Maison développement back-end Tutoriel Python Analyse pratique Python des éléments de base des événements de simulation de sélénium et de clavier et de souris

Analyse pratique Python des éléments de base des événements de simulation de sélénium et de clavier et de souris

Jun 10, 2022 pm 06:09 PM
python

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.

Analyse pratique Python des éléments de base des événements de simulation de sélénium et de clavier et de souris

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()
Copier après la connexion

运行结果如下:


Analyse pratique Python des éléments de base des événements de simulation de sélénium et de clavier et de souris


以上就是属于元素的基本操作,其实就是最简单最基本的操作,接下来我们继续看看高一点难度的操作 ---> 鼠标键盘模拟事件操作。

鼠标键盘模拟事件操作

利用我们本地的 sendkeys.html 文件,实现鼠标键盘的模拟事件操作。sendkeys.html 文件的页面元素如下图:


Analyse pratique Python des éléments de base des événements de simulation de sélénium et de clavier et de souris


利用 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()
Copier après la connexion

运行结果如下:


Analyse pratique Python des éléments de base des événements de simulation de sélénium et de clavier et de souris


利用 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()
Copier après la connexion

运行结果如下:


Analyse pratique Python des éléments de base des événements de simulation de sélénium et de clavier et de souris

以上就是使用 Action 类实现一些特殊场景的模拟,比较常用的就是 双击、右击、拖拽 等场景使用的略多一些,其他的场景使用 Action

Opérations de base sur les éléments

Utilisez le fichier local form.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 : 🎜

Analyse pratique Python des éléments de base des événements de simulation de sélénium et de clavier et de souris🎜


🎜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 local sendkeys.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 : 🎜

Analyse pratique Python des éléments de base des événements de simulation de sélénium et de clavier et de souris🎜


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 : 🎜

Analyse pratique Python des éléments de base des événements de simulation de sélénium et de clavier et de souris🎜


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. 🎜
  • 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 fin
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 Cas 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 : 🎜

Analyse pratique Python des éléments de base des événements de simulation de sélénium et de clavier et de souris🎜🎜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!

Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP et Python: différents paradigmes expliqués PHP et Python: différents paradigmes expliqués Apr 18, 2025 am 12:26 AM

PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

Choisir entre PHP et Python: un guide Choisir entre PHP et Python: un guide Apr 18, 2025 am 12:24 AM

PHP convient au développement Web et au prototypage rapide, et Python convient à la science des données et à l'apprentissage automatique. 1.Php est utilisé pour le développement Web dynamique, avec une syntaxe simple et adapté pour un développement rapide. 2. Python a une syntaxe concise, convient à plusieurs champs et a un écosystème de bibliothèque solide.

Python vs JavaScript: la courbe d'apprentissage et la facilité d'utilisation Python vs JavaScript: la courbe d'apprentissage et la facilité d'utilisation Apr 16, 2025 am 12:12 AM

Python convient plus aux débutants, avec une courbe d'apprentissage en douceur et une syntaxe concise; JavaScript convient au développement frontal, avec une courbe d'apprentissage abrupte et une syntaxe flexible. 1. La syntaxe Python est intuitive et adaptée à la science des données et au développement back-end. 2. JavaScript est flexible et largement utilisé dans la programmation frontale et côté serveur.

Comment exécuter des programmes dans Terminal Vscode Comment exécuter des programmes dans Terminal Vscode Apr 15, 2025 pm 06:42 PM

Dans VS Code, vous pouvez exécuter le programme dans le terminal via les étapes suivantes: Préparez le code et ouvrez le terminal intégré pour vous assurer que le répertoire de code est cohérent avec le répertoire de travail du terminal. Sélectionnez la commande Run en fonction du langage de programmation (tel que Python de Python your_file_name.py) pour vérifier s'il s'exécute avec succès et résoudre les erreurs. Utilisez le débogueur pour améliorer l'efficacité du débogage.

Peut-on exécuter le code sous Windows 8 Peut-on exécuter le code sous Windows 8 Apr 15, 2025 pm 07:24 PM

VS Code peut fonctionner sur Windows 8, mais l'expérience peut ne pas être excellente. Assurez-vous d'abord que le système a été mis à jour sur le dernier correctif, puis téléchargez le package d'installation VS Code qui correspond à l'architecture du système et l'installez comme invité. Après l'installation, sachez que certaines extensions peuvent être incompatibles avec Windows 8 et doivent rechercher des extensions alternatives ou utiliser de nouveaux systèmes Windows dans une machine virtuelle. Installez les extensions nécessaires pour vérifier si elles fonctionnent correctement. Bien que le code VS soit possible sur Windows 8, il est recommandé de passer à un système Windows plus récent pour une meilleure expérience de développement et une meilleure sécurité.

Le code Visual Studio peut-il être utilisé dans Python Le code Visual Studio peut-il être utilisé dans Python Apr 15, 2025 pm 08:18 PM

VS Code peut être utilisé pour écrire Python et fournit de nombreuses fonctionnalités qui en font un outil idéal pour développer des applications Python. Il permet aux utilisateurs de: installer des extensions Python pour obtenir des fonctions telles que la réalisation du code, la mise en évidence de la syntaxe et le débogage. Utilisez le débogueur pour suivre le code étape par étape, trouver et corriger les erreurs. Intégrez Git pour le contrôle de version. Utilisez des outils de mise en forme de code pour maintenir la cohérence du code. Utilisez l'outil de liaison pour repérer les problèmes potentiels à l'avance.

PHP et Python: une plongée profonde dans leur histoire PHP et Python: une plongée profonde dans leur histoire Apr 18, 2025 am 12:25 AM

PHP est originaire en 1994 et a été développé par Rasmuslerdorf. Il a été utilisé à l'origine pour suivre les visiteurs du site Web et a progressivement évolué en un langage de script côté serveur et a été largement utilisé dans le développement Web. Python a été développé par Guidovan Rossum à la fin des années 1980 et a été publié pour la première fois en 1991. Il met l'accent sur la lisibilité et la simplicité du code, et convient à l'informatique scientifique, à l'analyse des données et à d'autres domaines.

L'extension VScode est-elle malveillante? L'extension VScode est-elle malveillante? Apr 15, 2025 pm 07:57 PM

Les extensions de code vs posent des risques malveillants, tels que la cachette de code malveillant, l'exploitation des vulnérabilités et la masturbation comme des extensions légitimes. Les méthodes pour identifier les extensions malveillantes comprennent: la vérification des éditeurs, la lecture des commentaires, la vérification du code et l'installation avec prudence. Les mesures de sécurité comprennent également: la sensibilisation à la sécurité, les bonnes habitudes, les mises à jour régulières et les logiciels antivirus.

See all articles