selenium模拟鼠标键盘事件

发布时间:2026/10/29 7:13:42
selenium模拟鼠标键盘事件 selenium模拟鼠标键盘事件selenium提供了完整的模拟键盘操作事件在模拟键盘操作需要先导入键盘模块from selenium.webdriver.common.keys import Keysimport time from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys driver webdriver.Chrome() try: driver.get(urlhttps://www.baidu.com/) driver.implicitly_wait(10) locator (By.XPATH,//*[idkw]) ele WebDriverWait(driver,20,0.5).until(EC.presence_of_element_located(locator)) ele.send_keys(Python is good) # 向输入框输入“Python is good字符 time.sleep(1) ele.send_keys(Keys.BACK_SPACE) # 在输入框中模拟敲击键盘BACK_SPACE键 time.sleep(1) ele.send_keys(Keys.SPACE) # 在输入框中模拟敲击键盘SPACE键 ele.send_keys(d) time.sleep(1) ele.send_keys(Keys.CONTROL,a) # 把输入框中的内容全选 ctrlA time.sleep(1) ele.send_keys(Keys.CONTROL,c) # 复制输入框中的内容 ctrlC time.sleep(1) ele.clear() # 清空输入框 time.sleep(1) ele.send_keys(Keys.CONTROL,v) # 在输入框中粘贴内容 ctrlV print(ele) except Exception as e: raise e finally: time.sleep(3) driver.quit()以下为常用的键盘操作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) 全选CtrlA send_keys(Keys.CONTROL,c) 复制CtrlC send_keys(Keys.CONTROL,x) 剪切CtrlX send_keys(Keys.CONTROL,v) 粘贴CtrlV send_keys(Keys.LEFT) 方向键左Left send_keys(Keys.UP) 方向键上Up send_keys(Keys.RIGHT) 方向键右Right send_keys(Keys.DOWN) 方向键下Down模拟鼠标操作from selenium.webdriver.common.action_chains import ActionChains调用ActionChains的方法时不会立即执行会将所有的操作按顺序存放在一个队列里当调用perform()方法时队列中的事件会依次执行支持链式写法或者分步写法from selenium import webdriver import time from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.keys import Keys driver webdriver.Chrome() try: driver.get(urlhttps://www.baidu.com/) driver.implicitly_wait(10) locator (By.CSS_SELECTOR,#s-top-left div a) ele WebDriverWait(driver,20,0.5).until(EC.presence_of_element_located(locator)) ActionChains(driver).move_to_element(ele).click().perform() # 移动鼠标到ele元素对象然后进行点击 time.sleep(3) print(ele) except Exception as e: raise e finally: time.sleep(3) driver.quit()perform() 执行链中的所有动作 click(on_element) 单击鼠标左键 context_click(on_element) 点击鼠标右键 double_click(on_element) 双击鼠标左键 move_to_element(to_element) 鼠标移动到某个元素 ele.send_keys(keys_to_send) 发送某个词到当前焦点的元素 click_and_hold(on_element) 点击鼠标左键不松开 release(on_element) 在某个元素位置松开鼠标左键 key_down(value, element) 按下某个键盘上的键 key_up(value, elemen) 松开某个键 drag_and_drop(source, target) 拖拽到某个元素然后松开 drag_and_drop_by_offset(source, xoffset, yoffset) 拖拽到某个坐标然后松开 move_by_offset(xoffset, yoffset) 鼠标从当前位置移动到某个坐标 move_to_element_with_offset(to_element, xoffset, yoffset) 移动到距某个元素左上角坐标多少 距离的位置 send_keys_to_element(element, keys_to_send) 发送某个键到指定元素模拟拖动Mootools Drag and Drop Example

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询