selenium鼠标操作实战

鼠标操作实战

  • 鼠标单击操作 click()
  • 内置鼠标操作包ActionChains
  • 鼠标双击操作double_click()
  • 鼠标右击操作context_click()
  • 鼠标指针悬浮操作move_to_element(ele)
  • 鼠标拖动操作drag_and_drop(source, target)
  • 其他鼠标操作汇总

鼠标单击操作 click()

from selenium import webdriver
from time import sleepdriver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
ele = driver.find_element_by_link_text('新闻')
ele.click()  # 鼠标单击
sleep(2)
driver.quit()

内置鼠标操作包ActionChains

WebDriver封装了一套鼠标操作的包,我们先来看一下鼠标操作的流程。

  • 引入包:from selenium.webdriver.common.action_chains import ActionChains。
  • 定位元素,存储到某个变量:ele = driver.find_element_by_×××(‘××’)。
  • 固定写法:ActionChains(driver).click(ele).perform(),如图 所示。
    在这里插入图片描述
    ActionChains下的单机鼠标
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from time import sleepdriver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
ele = driver.find_element_by_link_text('新闻')
# ele.click()  # 鼠标单击
ActionChains(driver).click(ele).perform()
sleep(2)
driver.quit()

鼠标双击操作double_click()

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChainsdriver = webdriver.Chrome()
driver.get("http://sahitest.com/demo/clicks.htm")
ele = driver.find_element_by_xpath('/html/body/form/input[2]')
sleep(2)
# 通过double_click方法来模拟鼠标双击的操作
ActionChains(driver).double_click(ele).perform()
sleep(3)
driver.quit()

鼠标右击操作context_click()

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChainsdriver = webdriver.Chrome()
driver.get("http://sahitest.com/demo/clicks.htm")
ele = driver.find_element_by_xpath('/html/body/form/input[4]')
sleep(2)
# 通过context_click方法模拟鼠标右击的操作
ActionChains(driver).context_click(ele).perform()sleep(3)
driver.quit()

鼠标指针悬浮操作move_to_element(ele)

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChainsdriver = webdriver.Chrome()
driver.get("http://sahitest.com/demo/mouseover.htm")
ele = driver.find_element_by_xpath('/html/body/form/input[1]')
sleep(2)
# 通过move_to_element方法模拟鼠标指针的悬浮操作
ActionChains(driver).move_to_element(ele).perform()sleep(3)
driver.quit()

鼠标拖动操作drag_and_drop(source, target)

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("http://sahitest.com/demo/dragDropMooTools.htm")
source = driver.find_element_by_xpath('//*[@id="dragger"]')
target = driver.find_element_by_xpath('/html/body/div[5]')sleep(2)
# 通过drag_and_drop方法模拟鼠标拖动操作
ActionChains(driver).drag_and_drop(source, target).perform()sleep(3)
driver.quit()

其他鼠标操作汇总

  • 再来总结一下鼠标操作的流程。
    • 引入ActionChains包。
    • 定位要操作的元素。
    • 固定写法:ActionChains(driver).xxx(pars).perform()。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/726003.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中的文件操作2

文件遍历 在Python中,遍历文件通常指的是逐行读取文件中的内容。这种方式对于处理大型文件特别有用,因为它不需要一次性将整个文件加载到内存中。下面是几种常见的遍历文件内容的方法: 1. 使用with语句和for循环 这是最推荐的方式&#xf…

“2024杭州智慧城市及安防展会”将于4月在杭州博览中心盛大召开

2024杭州国际智慧城市及安防展览会,将于4月24日在杭州国际博览中心盛大开幕。这场备受瞩目的盛会,不仅汇集了全球智慧城市与安防领域的顶尖企业,更是展示最新技术、交流创新理念的重要平台。近日,从组委会传来消息,展会…

独孤思维:买了台一千块钱的电脑干副业

01 如何让自己集中精力做一件事情? 之前有个圈内大佬,为了写作集中精力,硬生生买了一个一千多的电脑。 这个电脑能干嘛? 只能写作,打字,连视频都卡,游戏就更不可能了。 为的是,…

【网站项目】089理发店会员管理系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

设计模式之模版方法实践

模版方法实践案例 实践之前还是先了解一下模版方法的定义 定义 模板方法模式是一种行为设计模式,它定义了一个骨架,并允许子类在不改变结构的情况下重写的特定步骤。模板方法模式通过在父类中定义一个模板方法,其中包含了主要步骤&#xf…

上海亚商投顾:沪指缩量调整 机器人概念股午后大涨

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日缩量震荡,创业板指午后涨超1%,随后上演冲高回落走势。风电、光伏等新能源方向…

Redis第7讲——哨兵模式详解

为了解决主从模式的无法自动容错及恢复的问题,Redis在主从复制的基础上加入了哨兵节点,也就是我们熟悉的哨兵模式。但现在基本不会用到哨兵模式,也就是这种模式只存在于面试中。 一、什么是哨兵模式 ps:主从服务器之间的数据同步…

ping多个IP的工具

Ping Tool 项目地址 python开发的IP搜索小工具 ping一个网段所有IP,显示结果查看某个ip地址开放监听的端口配置可保存

MogDB/openGauss更改数据库目录位置建议测试环境

MogDB/opengauss 更改数据库目录位置(建议测试环境) 有时我们部署完数据库,发现随着数据量的不断增加,数据目录所在的磁盘大小不能够满足我们的需求,需要更大的磁盘空间,这时选择重新部署数据库会很麻烦,之前所使用的…

Python基于opencv的人脸识别上课签到考勤系统,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

MATLAB环境下基于图像处理的计算病理学图像分割(MATLAB R2021B)

人工智能是病理学诊断和研究的重要新兴方法,其不仅可用于病理形态数据分析,还可整合免疫组化、分子检测数据和临床信息,得出综合的病理诊断报告,为患者提供预后信息和精准的药物治疗指导。计算病理学是病理学与AI、计算机视觉等信…

vant van-field 密码输入框小程序里隐藏、显示密码bug总结

老规矩先上效果图: vant 输入框组件 密码的隐藏与显示功能: 注: 用password属性控制密码的显示与隐藏 不要用type属性,type属性在真机上有时会没有效果 1、当然如果只用typepassword 不需要切换显示、隐藏也可以使用。 2、如果用到了密码的显示与…

面试问答之Spring进阶

文章目录 🐒个人主页:信计2102罗铠威🏅JavaEE系列专栏📖前言:🎀说说你对Spring的认识与理解🐕Bean的分类🐕 BeanFactory 接口和ApplicationContex 接口 的区别🐕SpringBe…

20240306 大模型快讯

//社区生态// Anthropic释出人类最强大模型Claude 3。Anthropic公开目前人类最强大模型Claude 3,在数学、编程、多语言理解、视觉等多个维度性能均超过GPT-4和Gemini 1.0 Ultra。 //多模态大模型// Stability AI公开Stable Diffusion 3架构细节。Stability AI 发布…

CIA402协议笔记

文章目录 1、对象字典1.1 Mode of Operation( 606 0 h 6060_h 6060h​)1.2 Modes of opration display( 606 1 h ) 6061_h) 6061h​) 2、状态机2.1 控制字(ControlWord、6040h)2.2 状态字(StatusWord、6041h)2.3 shutd…

React富文本编辑器开发(十三)序列化

序列化 Slate 的数据模型是以序列化为目标构建的。具体而言,它的文本节点的定义使它们更容易一目了然,但也易于序列化为常见格式,如 HTML 和 Markdown。 而且,由于 Slate 使用普通的 JSON 来存储数据,您可以非常轻松…

视频扩散模型介绍 Video Diffusion Models Introduction

视频扩散模型介绍 Video Diffusion Models Introduction Diffusion 扩散模型中的一些概念DDPMDDIMCLIPLatent DiffusionStable DiifusionLoRADreamBoothControlNet 视频生成评估标准图片层面视频层面 前人的工作Make-A-VideoAlign your Latents 开源视频生成模型ModelScopeT2V&…

一人企业:一个人也能赚钱的商业模式读书笔记

一人企业:一个人也能赚钱的商业模式 哈佛大学攻读MBA时,汤姆就给漫画投稿,虽然毕业之后在商界打拼,但从小喜欢画漫画的汤姆2010年还是毅然辞去一家大型食品公司营销副总裁这一光鲜的职位。他并非一时兴起,也没有变成反资本主义的嬉皮士。和其他人一样,他认真地规划并将他…

蓝桥杯-Set

目录 HashSet类常用方法 1 add(Object obj)方法 2 size() 方法 3 remove(Object obj)方法 4 contains()方法 5 clear() 方法 例题实战 set 一个不允许出现重复的元素,并且无序的集合,主要有HashSet实现类。 在判断重复元素的时候,Set集…