selenium基础(鼠标和键盘事件)
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()
selenium基础(鼠标和键盘事件)的更多相关文章
- 『心善渊』Selenium3.0基础 — 12、Selenium操作鼠标和键盘事件
目录 (一)对鼠标的操作 1.鼠标事件介绍 2.ActionChains 类鼠标操作的常用方法 3.perform()方法 4.鼠标事件操作步骤 5.示例 (1)右键单击.左键双击 (2)鼠标拖拽动作 ...
- selenium+Python(鼠标和键盘事件)
本篇总结了 web 页面常用的一些操作元素方法,可以统称为行为事件有些 web 界面的选项菜单需要鼠标悬停在某个元素上才能显示出来(如百度页面的设置按钮). 1 简单操作 1.点击(鼠标左键)页面按钮 ...
- Selenium WebDriver 中鼠标和键盘事件分析及扩展(转)
本文将总结 Selenium WebDriver 中的一些鼠标和键盘事件的使用,以及组合键的使用,并且将介绍 WebDriver 中没有实现的键盘事件(Keys 枚举中没有列举的按键)的扩展.举例说明 ...
- JavaScript事件基础-10-2.HTML事件; DOM0级事件; 掌握常用的鼠标与键盘事件 ; 掌握this的指向;
JavaScript事件基础 学习目标 1.掌握什么是事件 2.掌握HTML事件 3.掌握DOM0级事件 4.掌握常用的鼠标与键盘事件 5.掌握this的指向 什么是事件 事件就是文档或浏览器窗口中发 ...
- C#/winform 自动触发鼠标、键盘事件
要在C#程序中触发鼠标.键盘事件必须要调用windows函数. 一.鼠标事件的触发 1.引用windows函数mouse_event /// <summary> /// 鼠标事件 /// ...
- java鼠标与键盘事件监听
package cn.stat.p3.windowdemo; import java.awt.Button; import java.awt.FlowLayout; import java.awt.F ...
- HTML5 Canvas鼠标与键盘事件
演示HTML5 Canvas鼠标事件,获取Canvas对象上的鼠标坐标,演示键盘事件 通过键盘控制Canvas上对象移动. Canvas对象支持所有的JavaScript的鼠标事件,包括鼠标点击(Mo ...
- OSX 鼠标和键盘事件
本文转自:http://www.macdev.io/ebook/event.html 事件分发过程 OSX 与用户交互的主要外设是鼠标,键盘.鼠标键盘的活动会产生底层系统事件.这个事件首先传递到IOK ...
- tkinter中鼠标与键盘事件(十五)
鼠标与键盘事件 import tkinter wuya = tkinter.Tk() wuya.title("wuya") wuya.geometry("300x200+ ...
- 50-用Python监听鼠标和键盘事件
转自:https://www.cnblogs.com/qiernonstop/p/3654021.html 用Python监听鼠标和键盘事件 PyHook是一个基于Python的“钩子”库,主要用于监 ...
随机推荐
- 用jQuery,ajax,实现三级联动封装JS的文件
// JavaScript Document $(document).ready(function(e) { //找到ID=SANJI的DIV,造三个下拉扔进去 var str = "< ...
- JZOJ5153:树形图求和
Description Input Output HINT 题解: 一种很直观的想法是通过矩阵生成树求树形图方法数ans以及不包含某一条边i的树形图方法数ans[i],则答案为Σ(ans-ans[i] ...
- 40 VSCode下.json文件的编写——(1) linux/g++ (2).json中参数与预定义变量的意义解释
0 引言 转入linux/VSCode编程之后,迫切了解到有必有较为系统地学习一下VSCode中相关配置文件的写法.下面将分为 linux/g++编译指令..json文件关键词/替换变量的意义.编译链 ...
- MFC进度条
一.成员函数简介 1.create()针对不是通过资源文件上拖拉进度条控件生成的进度条,需要用此函数创建一个. 2.SetRange()设置进度条的起始值和终止值. 3.SetPos()设置进度条的当 ...
- Firefox Developer Edition 是专为开发者设计
Firefox Developer Edition 当前是基于 Firefox 35.0a2,这款全新的浏览器包括内建调试功能,集成类似于Firefox火狐工具适配器的专用工具,并在浏览器当中内建We ...
- .net 超链接传值,传过去始终是null
今天做了一个删除功能,通过点击列表中的删除超链接,通过get请求,跳转到一个处理程序执行删除操作 . 因为不熟悉各种报错 , <%="<td> <a class='d ...
- 2019 Multi-University Training Contest 7 Kejin Player 期望dp
题目传送门 题意:有n个等级,在每个等级花费$ai$的代价有$pi$的几率升到$i+1$级,$1-pi$的概率降级降到$xi$(xi<=i),给出q次询问,每次询问从$l$级到$r$级的代价的期 ...
- 查看ubuntu系统的版本信息
显示如下 Linux version 4.10.0-28-generic (buildd@lgw01-12) linux内核版本号 gcc version 5.4.0 20160609 gcc编译器版 ...
- Dubbo的服务请求失败怎么处理
dubbo启动时默认有重试机制和超时机制. 超时机制的规则是如果在一定的时间内,provider没有返回,则认为本次调用失败, 重试机制在出现调用失败时,会再次调用.如果在配置的调用次数内都失败,则认 ...
- 01.SpringMVC快速入门
1.导入jar包 2.在web.xml中配置前端控制器 <!-- spring前端控制器 --> <servlet> <servlet-name>springmvc ...