web自动化之鼠标悬停事件
前言:我们在操作浏览器的时候,都需要一些鼠标悬停才能显示的下拉框或者选择下拉框的内容。
鼠标操作类是 ActionChains
鼠标事件有:
1. 悬浮 - 用的最多最多 move_to_element
2. 右键 context_click
3. 点击 click
4. 双击 double_click
5. 拖拽 drag_and_drop
6. 滚动 — js
7. 按住左键不松 click_and_hold
8. 释放 release
执行的命令:
1. 重置 reset_actions
2. 执行操作 perform() # 一定要带
我们选百度首页的下拉框来做操作。如下:
只有鼠标悬浮才能现在下拉列表
代码实现:
from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
driver.get("http://www.baidu.com")#找到设置
ele = driver.find_element_by_xpath('//*[@id="u1"]//a[@name="tj_settingicon"]')
#鼠标悬停
ActionChains(driver).move_to_element(ele).perform()
#点击“高级搜索”
WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,'//a[text()="高级搜索"]')))
driver.find_element_by_xpath('//a[text()="高级搜索"]').click()
那根据高级搜索 里的下拉框我们怎么处理? 使用 Select方法就可以搞定
具体代码如下:
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.select import Select
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
driver.get("http://www.baidu.com")#找到设置
ele = driver.find_element_by_xpath('//*[@id="u1"]//a[@name="tj_settingicon"]')
#鼠标悬停
ActionChains(driver).move_to_element(ele).perform()
#点击“高级搜索”
WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,'//a[text()="高级搜索"]')))
driver.find_element_by_xpath('//a[text()="高级搜索"]').click()
# 1、找到select元素对象,实例化Select类。
WebDriverWait(driver,30).until(EC.visibility_of_element_located((By.XPATH,'//select[@name="ft"]')))
s = Select(driver.find_element_by_xpath('//select[@name="ft"]'))
#2、选择下拉框的值,下拉框的值可以通过value,index,text三种方法选择option对应的值,以下三种方法任选其一,或者都可以写进代码里,互不影响
time.sleep(2)
#2.1 通过value值来定位
s.select_by_value("ppt")
time.sleep(2)
#2.2通过下标来定位
s.select_by_index(1) # 从0开始
time.sleep(2)
#通过text文本来定位
s.select_by_visible_text("所有格式")
注:在鼠标悬停的时候,请不要触碰鼠标,以免发生错误
web自动化之鼠标悬停事件相关推荐
- pythonselenium教程模拟鼠标和键盘_【02篇】python+selenium实现Web自动化:鼠标操作和键盘操作!...
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第二篇博 ...
- web自动化(鼠标键盘操作)
一.鼠标和键盘操作 1.鼠标操作 1.1 鼠标操作实现方式 selenium提供鼠标操作的方法及步骤 需要导入ActionChains类 通过ActionChains实例化鼠标对象 action = ...
- python tk 获取鼠标事件_在Tkin中列出鼠标悬停事件函数
我正在制作一个医学工具的图形用户界面作为一个类项目.给定一个条件,它应该输出一堆从不同网站收集的治疗方案,比如webMD.我希望能够处理所列出的任何一种疗法的鼠标悬停事件,以提供关于该疗法的更多信息( ...
- vue鼠标移动上去提示_关于如何处理vue中鼠标悬停事件的详细说明
最后,在查看结果中,发现滑过鼠标事件将触发该事件,但它将闪烁并清除. 当鼠标停留在单元格上时鼠标滑过事件,遮罩层将消失并重复出现. 开关. 为了缓解这种情况,setTimeout也用于延迟显示和隐藏在 ...
- selenium 鼠标悬停事件
1.鼠标不仅仅可以点击(click),鼠标还有其它的操作,如:鼠标悬停在某个元素上,鼠标右击,鼠标按住某个按钮拖动: 2.鼠标事件需要先导入模块: from selenium.webdriver.co ...
- html鼠标的点击事件失效,为什么鼠标悬停事件不起作用呢?
源自:2-3 鼠标悬停事件添加 为什么鼠标悬停事件不起作用呢? var area = document.getElementById('moocBox'); var con1 = document.g ...
- C#连接数据库、绑定数据,鼠标悬停事件
| 啥都不懂就学呗 private void button1_Click(object sender, EventArgs e) { //string constr = "Data Sour ...
- Js鼠标悬停事件,简单的实现导航栏鼠标划过内容弹窗的效果。可读性较高的鼠标悬停事件
Js鼠标悬停事件,简单的实现导航栏鼠标划过内容弹窗的效果.可读性较高的鼠标悬停事件 <!DOCTYPE html> <html lang="en"> < ...
- html js鼠标悬停事件,鼠标悬停在轴标签d3.js javascript上的事件
有没有人知道是否有可能在y轴标签上有鼠标悬停事件? 例如,我在下面有一个散点图. y轴上的标签是"area1","area2"和"area3" ...
最新文章
- Java反射详细介绍
- Python - 移除List中重复项的五种常用方法
- Centos7安装apt-get 在centos下用yum install xxx 不是使用apt-get
- python爬去百度图片_python实现爬取百度图片的方法示例
- Python学习笔记:文件(File)
- 直线绘制算法-数值微分法(DDA)
- c# 用SqlParameter实现多字段模糊查询
- visio中图形任意位置添加连接点
- html自动定时弹窗,html网页弹窗代码 setinterval 定时任务啊
- Scratch软件编程等级考试一级——20210911
- css 图片 鼠标样式,鼠标样式 - CSS | 绿叶学习网
- gii无法访问 yii2_Gii的CURD生成无法访问?
- phpmyadmin没有接收到要导入的数据.可能是文件名没有提交,也可能是文件大小超出 PHP 限制.
- 0211书架的制作过程(使用3DsMAX2016)
- 如何从8 道面试题中,看出浏览器渲染过程与性能优化
- 小红书app复制链接转换为可直接访问链接
- LevelDB Arena源码分析
- dotnet夜话 第六、七集笔记
- 计算机等级考试数据库三级模拟题3
- 什么是栈?什么是队列?栈与队列的特点
热门文章
- vuepress+百度统计 API 调用+源码
- 导出PDF文件中文显示不完整
- WaitForSingleObject SetEvent
- THIS IS YYYUYU‘S TIME !
- python-flask框架-mysql-月新增用户数、当月活跃用户数等的查询及返回数据的逻辑
- 数据结构4——linuxC(二叉树和排序算法)
- 【计算机图形学|直线生成算法】中点画线法
- Mysql分区 - Range分区
- MySQL(InnoDB剖析):10---文件之(参数文件.cnf)
- JavaScript修改Css样式