一、Senlenuim 键盘操作简介
Senlenuim 提供了丰富的键盘操作方法,能够模拟用户在浏览器中的各种键盘输入,提升自动化测试的灵活性和效率。
在进行键盘操作时,Senlenuim 主要通过调用键盘操作的快捷键方法来实现。具体来说,需要导入 Keys 类,第一个字母大写。单键值可以直接传入对应的键值,组合键则键值之间由逗号分隔,例如 send_keys (Keys.CONTROL, Keys.SHIFT, 'i')。
常用的快捷键包括
send_keys (Keys.BACK_SPACE) 删除键 (BackSpace)
send_keys (Keys.SPACE) 空格键 (Space)
send_keys (Keys.TAB) 制表键 (Tab)
send_keys (Keys.ESCAPE) 回退键 (Esc)
send_keys (Keys.ENTER) 回车键 (Enter)
send_keys (Keys.CONTROL,'a') 全选 (Ctrl+A)
send_keys (Keys.CONTROL,'c') 复制 (Ctrl+C)
send_keys (Keys.CONTROL, 'v') 粘贴等
例如,以下代码展示了如何使用键盘操作:
# 输入用户名:admin1,暂停 2 秒,删除 1
element = driver.find_element(By.ID, 'userA')
element.send_keys("admin1")
time.sleep(2)
element.send_keys(Keys.BACK_SPACE) # 删除最后一个字符串 clear()
#全选用户名:admin,暂停 2 秒
element.send_keys(Keys.CONTROL, 'a')
time.sleep(2)
#复制用户名:admin,暂停 2 秒
element.send_keys(Keys.CONTROL, 'c')
time.sleep(2)
#4粘贴到密码框
driver.find_element(By.ID, 'passwordA').send_keys(Keys.CONTROL, 'V')
二、Senlenuim 键盘操作具体内容
1.快捷键操作
在使用 Python Selenium 进行键盘操作时,可以通过 element.send_keys(快捷键的键值)来调用键盘操作的快捷键。首先需要导入 Keys 类,第一个字母大写。例如单键值直接传入对应键值,组合键键值之间用逗号分隔。
常用的快捷键包括删除键、空格键、制表键等。其中,删除键可以使用 send_keys(Keys.BACK_SPACE),相当于按下键盘上的 BackSpace 键。空格键可以使用 send_keys(Keys.SPACE),模拟按下空格键。制表键则使用 send_keys(Keys.TAB)。
此外,还可以实现全选、复制、粘贴等操作。全选可以使用 send_keys(Keys.CONTROL, 'a'),复制为 send_keys(Keys.CONTROL, 'c'),粘贴为 send_keys(Keys.CONTROL, 'v')。
2. 特殊按键模拟
Python Selenium 提供了一些特殊按键的常量,可以直接使用来模拟特殊按键,如回车键、退格键等。例如,回车键可以使用 send_keys(Keys.ENTER),退格键可以使用 send_keys(Keys.BACKSPACE)。这些特殊按键的常量使得在自动化测试中模拟用户的键盘操作更加方便。
三、学习 Senlenuim 键盘操作的方法
1. 安装 Python Selenium
使用 pip install selenium进行安装。这一步骤非常简单直接,只需在命令行中执行该命令,即可安装 Python Selenium 库。安装完成后,就可以在 Python 项目中导入并使用 Selenium 提供的强大功能来进行自动化测试。
2. 创建 WebDriver 对象
选择合适的浏览器驱动程序,如 ChromeDriver,创建 WebDriver 对象用于与浏览器进行交互。以 Chrome 浏览器为例,可以使用以下代码创建 WebDriver 对象:
from selenium.webdriver.chrome.service import Service
from selenium import webdriver
wd = webdriver.Chrome(service=Service(r'C:\\Users\\user\\.cache\\selenium\\chromedriver\\win32\\114.0.5735.90\\chromedriver.exe'))
3. 定位页面元素
使用多种定位元素的方法,如根据 ID、类名、CSS 选择器等,定位到目标元素,如输入框、按钮等。
- 根据 ID 定位:element = wd.find_element(By.ID, 'element_id'),如果元素具有唯一的 ID 属性,这是一种快速定位元素的方法。
- 根据类名定位:elements = wd.find_elements(By.CLASS_NAME, 'class_name'),可以找到具有相同类名的多个元素。
- 根据 CSS 选择器定位:element = wd.find_element(By.CSS_SELECTOR, '#id_element >.class_element'),CSS 选择器提供了强大的定位能力,可以根据元素的层次结构和属性进行定位。
- 根据 XPath 路径定位:element = wd.find_element(By.XPATH, '//div[@id="my_div"]/input[@name="username"]'),XPath 是一种用于在 XML 文档中定位元素的语言,可以非常灵活地定位 HTML 页面中的元素。
4. 模拟键盘输入
定位到目标元素后,使用 send_keys()方法模拟键盘输入,可以输入字符串或特殊按键常量。
例如,输入用户名后,暂停 2 秒,删除一个字符:
element = driver.find_element(By.ID, 'userA')
element.send_keys("admin1")
time.sleep(2)
element.send_keys(Keys.BACK_SPACE)
全选用户名:
element.send_keys(Keys.CONTROL, 'a')
time.sleep(2)
复制用户名:
element.send_keys(Keys.CONTROL, 'c')
time.sleep(2)
粘贴到密码框:
driver.find_element(By.ID, 'passwordA').send_keys(Keys.CONTROL, 'V')
通过使用 send_keys()方法结合特殊按键常量,可以模拟各种键盘操作,提高自动化测试的效率和灵活性。
Python Selenium 键盘操作与自动化测试
498

被折叠的 条评论
为什么被折叠?



