selenium基础(鼠标和键盘事件)
2024-10-20 18:50:28
selenium鼠标和键盘的操作事件
webdriver常见的几种操作方法
- clear():清楚文本文字
- send_keys(values):模拟按键输入,values是输入的内容
- click():单击元素,例如按钮操作、超链接操作
- submit():用于提交表单。例如:输入内容后的“回车”操作
- size():返回元素的尺寸
- text():获取元素的文本
- get_attribute(name):获取属性值
- is_displayed():设置该元素是否用户可见
ActionChains类提供的鼠标操作常用的方法
引入ActionChains使用语句:from selenium.webdriver.common.action_chains import ActionChains
- perform():执行所有ActionChains方法中存放的行为
- context_click():右击
- double_click():双击
- drag_and_drop():拖动
- move_to_element():鼠标悬停
- click_and_hold():按下鼠标左键在一个元素上
鼠标悬停操作的实例
在,百度首页,将鼠标悬停在【设置】超级链接的按钮上,选择【高级搜索】链接并点击进入该页面
from selenium import webdriver
import time
from selenium.webdriver.common.action_chains import ActionChains#引入ActionChains方法包,用于鼠标操作 driver=webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.baidu.com")#进入百度首页 above=driver.find_element_by_link_text("设置")#定位到要悬停的元素
ActionChains(driver).move_to_element(above).perform()#对定位到的元素进行悬停操作
driver.find_element_by_link_text("高级搜索").click()#点击下拉菜单中的“高级搜索”按钮
time.sleep(8) driver.quit()
二、key()类提供了键盘上所有按键的方法
- send_key()方法可以用来模拟键盘输入
- 还可以用它来输入键盘上的按键,甚至是组合键,如:Ctrl+C、Ctrl+V等
- 导入keys类语法:from selenium.webdriver.common.keys import Keys
以下是常用的键盘操作
- send_keys(keys.BACK_SPACE):删除键(backspace)
- send_keys(keys_SPACE):空格键(space)
- send_keys(keys.TAB):制表键(tab)
- send_keys(keys.ENTER):回车键(enter)
- send_keys(keys.CONTROL,'a'):全选(ctrl+A)
- send_keys(keys.CONTROL,'c'):复制(ctrl+C)
- send_keys(keys.CONTROL,'v'):粘贴(ctrl+V)
- send_keys(keys.CONTROL,'x'):剪切(ctrl+X)
- send_keys(keys.F1):键盘F1~F12
from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys#引入Keys方法包,用于键盘操作 driver=webdriver.Firefox()
driver.maximize_window()
driver.get("https://www.baidu.com")#进入百度首页
driver.find_element_by_id('kw').send_keys("seleniumm")#发送selenium时多发送了一个字母
time.sleep(1)
driver.find_element_by_name('wd').send_keys(Keys.BACK_SPACE)#删除一个字符
time.sleep(1)
driver.find_element_by_css_selector('input#kw').clear()#将文本框中的内容清楚
time.sleep(1)
driver.find_element_by_class_name('s_ipt').send_keys('current_url')#在输入框输入内容
time.sleep(1)
driver.find_element_by_xpath('//input[@id="kw"]').send_keys(Keys.SPACE)#输入一个空格
time.sleep(1)
driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'a')#全选输入空中的问题
time.sleep(1)
driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'x')#剪切输入框中的问题
time.sleep(1)
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'V')#粘贴剪切的内容
time.sleep(1)
driver.find_element_by_id('kw').send_keys(Keys.ENTER)#按回车键
time.sleep(1) driver.quit()
最新文章
- Python第一天 - 函数
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(十二) 代码重构使用反射工厂解耦(一)缓存切换
- asp.net 曲线图
- apple个人开发者证书无线发布app的实现(转)
- 纯JS写出日历
- android studio 报错,google后无果
- 第八讲:I/O虚拟化
- A strange lift
- 有状态InheritableThreadLocal 配合 JDK8 ,异步方法调用
- blfs(systemd版本)学习笔记-为桌面环境构建xorg服务
- [ZJOI2012]网络
- python目录遍历文件名称替换
- GlusterFs卷的简单操作
- 2. mysql 语句
- POJ Lost Cows
- tableView上出现空白的解决办法
- Tomcat性能优化(二) ExpiresFilter设置浏览器缓存
- 关于在MySql的decimal中犯的一个错-此篇文章目的在于警醒自己
- 爬虫_处理js动态加载
- spring boot☞Swagger2文档构建及单元测试