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

WBOY
WBOYavant
2022-06-10 18:09:272811parcourir

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()

运行结果如下:


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()

运行结果如下:


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()

运行结果如下:


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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer