Selenium4 系列 - 鼠标、键盘操作详细解读


有哪些鼠标操作呢?

  • 执行操作
  • 左键、右键单击、双击
  • 鼠标悬停到元素、偏移处
  • 长按
  • 拖动

点击右边目录即可跳转哦! -------------->>>>>>>>>> 

 act.moveToElement(link).contextClick().sendKeys(Keys.ArrowsDown).build().perform();

执行操作

perform() 方法

主要是调用其他操作方法后,都要再次调用这个方法,表示执行某个鼠标操作,后面会有例子

 

左键、右键单击、双击

from selenium.webdriver import ActionChains from selenium import webdriver driver = webdriver.Chrome("../resources/chromedriver.exe") # 创建实例 chains = ActionChains(driver) # 访问网址 driver.get("file:///C:/test.html") # 登录按钮 username = driver.find_element_by_id("username") login_btn = driver.find_element_by_class_name("login") password = driver.find_element_by_id("password") # 左键点击 chains.click(username).perform() # 右键点击 chains.context_click(username).perform() # 双击 chains.double_click(password).perform()

 

鼠标悬停到元素、偏移处

# 悬停到设置按钮 chains.move_to_element(login_btn).perform() # 悬停到指定偏移量 chains.move_to_element_with_offset(login_btn, 2, 2).perform()

知识点

move_to_element_with_offset() 是先找到元素,再根据元素位置偏移指定偏移量

 

长按

# 长按 chains.click_and_hold(login_btn).perform()

 

拖动

# 拖动1 chains.drag_and_drop(source=username, target=password) # 拖动2 chains.drag_and_drop_by_offset(source=username, xoffset=20, yoffset=20)

知识点

  • drag_and_drop 将源元素拖动到目标元素处
  • drag_and_drop_by_offset 将源元素拖动指定偏移量

 

有什么键盘操作?

  • 删除键
  • 空格键
  • 制表键
  • 回退键
  • 回车键
  • 全选
  • 复制
  • 剪切
  • 粘贴
  • F1-F12
  • ......其实就是所有键盘都能模拟,包括alt、shift、insert、delete、home等等等...这里就不举例了,看源码很容易懂

 

#!/usr/bin/env python # -*- coding: utf-8 -*-  from time import sleep from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Chrome("../resources/chromedriver.exe") driver.maximize_window() # 访问网址 driver.get("http://www.baidu.com") # 找到搜索框 inputElement = driver.find_element_by_id("kw") # 输入搜索内容 inputElement.send_keys("锐洋智能") # ctrl+a全选 inputElement.send_keys(Keys.CONTROL, "a") sleep(1) # ctrl+c 复制输入框内容 inputElement.send_keys(Keys.CONTROL, 'c') sleep(1) # ctrl+x 剪切输入框内容 inputElement.send_keys(Keys.CONTROL, 'x') sleep(1) # ctrl+v 粘贴输入框内容 inputElement.send_keys(Keys.CONTROL, 'v') sleep(1) # 空格键 inputElement.send_keys(Keys.SPACE) sleep(1) # 后退键 inputElement.send_keys(Keys.BACKSPACE) sleep(1) # tab键 inputElement.send_keys(Keys.TAB) sleep(1) # 回车键 inputElement.send_keys(Keys.ENTER) # 刷新页面 inputElement.send_keys(Keys.F5)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM