一、鼠标操作
1. 鼠标操作
常见的鼠标操作有:点击、右击、双击、悬停、拖拽等,对于这些鼠标操作Selenium都封装了相应的操作方法。
1.1 为什么操作鼠标
现在Web产品中村子啊丰富的鼠标交互方式,作为一个Web自动化测试框架。需要应对这些鼠标操作的应用场景。
1.2 鼠标操作的方法
说明:在Selenium中将操作鼠标的方法封装在ActionChains类中。
实例化对象:
action = ActionChains(driver)
方法:
1. context_click(element) 右击 -->模拟鼠标右键点击效果
2. double_click(element) 双击-->模拟鼠标双击效果
3. drag_and_drop(source,target) 拖动 -->模拟鼠标拖动效果
4. move_to_element(element) 悬停 --> 模拟鼠标悬停效果
5. perform() 执行 -->此方法用来执行以上所有鼠标操作
提示:
鼠标操作的所有方法都需要执行perform() 方法才能生效。
1.3 鼠标执行-perform()
说明:在ActionChains类中所有提供的鼠标事件方法,在调用的时候所有的行为都存储在ActionChains对象中。
而perform()方法就是真正去执行所有的鼠标事件。
1.4 鼠标右键-context_click
说明:对于点击鼠标右键,如果弹出的就是浏览器默认的菜单,Selenium没有提供操作菜单选项。如果是自定义的右键菜单,则可以通过元素定位来操作菜单中的选项。
1. 导包:from selenium.webdriver import ActionChains
2. 实例化ActionChains对象:action = ActionChains(driver)
3. 调用右键方法:action .context_click(element)
4. 执行:action.perform()
1.5 鼠标双击-double_click()
说明:模拟鼠标左键双击操作
1.6 鼠标拖拽-drag_and_drop(源元素,目的元素)
说明:模拟鼠标拖拽操作
1.7 鼠标悬停-move_to_element()
说明:模拟鼠标悬停在指定的元素上
注意:在该方法执行时,不要动鼠标
# 实现百度的搜索设置,搜索展示条数
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
user_setting = driver.find_element(By.ID, "s-usersetting-top")
action = ActionChains(driver)
action.move_to_element(user_setting) # 鼠标悬浮
action.perform()
driver.find_element(By.LINK_TEXT,"搜索设置").click()
# 页面跳转之后,停留时间,加载页面
time.sleep(2)
nr_1 = driver.find_element(By.ID, "nr_1")
nr_2 = driver.find_element(By.ID, "nr_2")
nr_3 = driver.find_element(By.ID, "nr_3")
time.sleep(2)
if nr_1.is_selected(): # 判断是否被选中
nr_2.click()
elif nr_2.is_selected():
nr_3.click()
time.sleep(5)
driver.quit()
二、键盘操作
Selenium中吧键盘的按键都封装在Keys类中
2.1 Keys类
from selenium.webdriver.common.keys import Keys
2.2 常用键盘操作
1. 元素.send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
2. 元素.send_keys(Keys.SPACE) 空格键(Space)
3. 元素.send_keys(Keys.TAB) 制表键(Tab)
4. 元素.send_keys(Keys.ESCAPE) 回退键(Esc)
5. 元素.send_keys(Keys.ENTER) 回车键(Enter)
6. 元素.send_keys(Keys.CONTROL,'a') 全选(Ctrl+A)文章来源:https://www.toymoban.com/news/detail-606741.html
6. 元素.send_keys(Keys.CONTROL,'c') 复制(Ctrl+C)文章来源地址https://www.toymoban.com/news/detail-606741.html
2.3 代码实例
try:
driver = webdriver.Chrome()
driver.get("http://localhost/backend/page/login/login.html")
user = driver.find_element(By.CSS_SELECTOR, '[placeholder="账号"]')
user.clear()
user.send_keys("admin1")
user.send_keys(Keys.BACK_SPACE)
user.send_keys(Keys.CONTROL, 'a')
user.send_keys(Keys.CONTROL, 'c')
time.sleep(1)
pwd = driver.find_element(By.CSS_SELECTOR, '[placeholder="密码"]')
pwd.send_keys(Keys.CONTROL, 'a')
pwd.send_keys(Keys.CONTROL, 'v')
time.sleep(5)
except Exception as e:
print(e)
finally:
driver.quit()
到了这里,关于【WEB自动化测试】-鼠标和键盘操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!