Selenium-鼠标操作
有些特殊的系统可能需要模拟键盘或者鼠标的操作才可以
鼠标的操作不仅仅是click()单击操作,还有很多包含在ActionChains类中
context_click(elem) 右击鼠标点击元素elem,另存为等行为
double_click(elem) 双击鼠标点击元素elem,地图web可实现放大
drag_and_drop(source,target) 拖动鼠标,源元素按下左键移动至目标元素释放
move_to_element(elem) 鼠标移动到一个元素上,也就是鼠标悬浮
click_and_hold(elem) 按下鼠标左键在一个元素上
perform() 再通过调用该函数执行AcitonChains中存储的行为
实例:
百度搜索首页:设置:搜索设置
设置是悬浮的,选中搜索设置
#! /usr/bin/env python #coding=utf-8 from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains import time ''' 百度搜索首页:设置:搜索设置 ''' driver = webdriver.Firefox() driver.get("https://www.baidu.com/") time.sleep(3) #利用链接,定位到"设置"元素 mm = driver.find_element_by_link_text("设置") ActionChains(driver).move_to_element(mm).perform() time.sleep(3) driver.find_element_by_link_text("搜索设置").click() time.sleep(5) driver.quit()
百度首页-百度log图片-右键点击
#! /usr/bin/env python #coding=utf-8 from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains import time driver = webdriver.Firefox() driver.get("https://www.baidu.com/") time.sleep(3) #鼠标移动到图片上,右击 elem_pic = driver.find_element_by_xpath(".//*[@id='lg']/img") print("图片资源地址:",elem_pic.get_attribute("src")) action = ActionChains(driver).move_to_element(elem_pic) action.context_click(elem_pic) action.perform() time.sleep(5) driver.quit()
结果:图片资源地址: https://www.baidu.com/img/bd_logo1.png
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏