赞
踩
在selenium中,把键盘的一系列按键封装在Keys类
中,因此,我们在模拟键盘操作的时候,需要先导入Keys包,然后配合send_keys()方法使用
# 鼠标事件,封装在Keys类中
from selenium.webdriver.common.keys import Keys
# 执行语法
要执行模拟键盘操作的元素.send_keys(Keys.封装的按键)
send_keys(Keys.BACK_SPACE)
send_keys(Keys.SPACE)
send_keys(Keys.CONTROL, 'a')
send_keys(Keys.CONTROL, 'c')
send_keys(Keys.CONTROL, 'x')
send_keys(Keys.CONTROL, 'v')
send_keys(Keys.ENTER)
send_keys(Keys.TAB)
send_keys(Keys.ESCAPE)
【示例】
# 导包 from selenium import webdriver from selenium.webdriver.common.by import By from time import sleep # 鼠标事件,封装在Keys类中 from selenium.webdriver.common.keys import Keys # 定义谷歌对象 driver = webdriver.Chrome() # 打开百度首页 driver.get('https://www.baidu.com/') # 定位到百度搜索输入框 element = driver.find_element(By.ID, 'kw') # 在输入框输入”Python自动化测试“ element.send_keys("Python自动化测试") # 页面停留2秒钟 sleep(2) # 模拟键盘的删除键,删除输入框中的最后一个字send_keys(Keys.BACK_SPACE) element.send_keys(Keys.BACK_SPACE) # 页面停留2秒钟 sleep(2) # 模拟键盘的空格键,输入框最后加一个空格 element.send_keys(Keys.SPACE) # 页面停留2秒钟 sleep(2) # 模拟键盘的Ctrl+A全选操作 element.send_keys(Keys.CONTROL, 'a') # 页面停留2秒钟 sleep(2) # # 模拟键盘的Ctrl+C复制操作 # element.send_keys(Keys.CONTROL, 'c') # 模拟键盘的Ctrl+X剪切操作 element.send_keys(Keys.CONTROL, 'x') # 页面停留2秒钟 sleep(2) # 模拟键盘的Ctrl+V粘贴操作 element.send_keys(Keys.CONTROL, 'v') # 模拟键盘的回车操作 element.send_keys(Keys.ENTER) # # 模拟键盘tab键 # element.send_keys(Keys.TAB) sleep(5) # 退出浏览器 driver.quit()
模拟键盘删除键:每次只能删除一个,如果要删除多个字符,需要在前面乘上几
from selenium import webdriver from selenium.webdriver.common.by import By from time import sleep # 鼠标事件,封装在Keys类中 from selenium.webdriver.common.keys import Keys driver = webdriver.Chrome() driver.get("https://www.baidu.com/") driver.maximize_window() driver.implicitly_wait(5) # 定位到搜索框 search_box = driver.find_element(By.ID, 'kw') # 在输入框输入内容 search_box.send_keys("我以渺小爱你1234") sleep(3) # 删除多余的数字,每次只能删除一个,想要删除几个,需要在前面乘上几 search_box.send_keys(4*Keys.BACK_SPACE) sleep(3) # 关闭浏览器 driver.quit()
在webdriver中,将这些关于鼠标操作的方法封装在ActionChains
类中。ActionChains类提供了鼠标操作的常用方法:
导入ActionChains
类
# 在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类中
from selenium.webdriver.common.action_chains import ActionChains
ActionChains类提供了鼠标操作的常用方法:
下面演示“perform()”和“鼠标悬停”方法:
from selenium import webdriver from selenium.webdriver.common.by import By # 在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类中 from selenium.webdriver.common.action_chains import ActionChains from time import sleep # ActionChains 类提供了鼠标操作的常用方法 # 打开浏览器 driver = webdriver.Chrome() # 打开百度首页 driver.get("https://www.baidu.com/") # 最大化窗口 driver.maximize_window() # 设置隐式等待 driver.implicitly_wait(5) # 定位到“设置”元素 st_button = driver.find_element(By.ID, 's-usersetting-top') # 在“设置”元素进行鼠标悬停 # perform()执行前面的操作 # ActionChains(打开的浏览器对象,driver).move_to_element(悬停的元素).perform() ActionChains(driver).move_to_element(st_button).perform() # 页面停留5秒钟 sleep(5) # 关闭浏览器 driver.quit()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。