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基础(鼠标和键盘事件)的更多相关文章

  1. 『心善渊』Selenium3.0基础 — 12、Selenium操作鼠标和键盘事件

    目录 (一)对鼠标的操作 1.鼠标事件介绍 2.ActionChains 类鼠标操作的常用方法 3.perform()方法 4.鼠标事件操作步骤 5.示例 (1)右键单击.左键双击 (2)鼠标拖拽动作 ...

  2. selenium+Python(鼠标和键盘事件)

    本篇总结了 web 页面常用的一些操作元素方法,可以统称为行为事件有些 web 界面的选项菜单需要鼠标悬停在某个元素上才能显示出来(如百度页面的设置按钮). 1 简单操作 1.点击(鼠标左键)页面按钮 ...

  3. Selenium WebDriver 中鼠标和键盘事件分析及扩展(转)

    本文将总结 Selenium WebDriver 中的一些鼠标和键盘事件的使用,以及组合键的使用,并且将介绍 WebDriver 中没有实现的键盘事件(Keys 枚举中没有列举的按键)的扩展.举例说明 ...

  4. JavaScript事件基础-10-2.HTML事件; DOM0级事件; 掌握常用的鼠标与键盘事件 ; 掌握this的指向;

    JavaScript事件基础 学习目标 1.掌握什么是事件 2.掌握HTML事件 3.掌握DOM0级事件 4.掌握常用的鼠标与键盘事件 5.掌握this的指向 什么是事件 事件就是文档或浏览器窗口中发 ...

  5. C#/winform 自动触发鼠标、键盘事件

    要在C#程序中触发鼠标.键盘事件必须要调用windows函数. 一.鼠标事件的触发 1.引用windows函数mouse_event /// <summary> /// 鼠标事件 /// ...

  6. java鼠标与键盘事件监听

    package cn.stat.p3.windowdemo; import java.awt.Button; import java.awt.FlowLayout; import java.awt.F ...

  7. HTML5 Canvas鼠标与键盘事件

    演示HTML5 Canvas鼠标事件,获取Canvas对象上的鼠标坐标,演示键盘事件 通过键盘控制Canvas上对象移动. Canvas对象支持所有的JavaScript的鼠标事件,包括鼠标点击(Mo ...

  8. OSX 鼠标和键盘事件

    本文转自:http://www.macdev.io/ebook/event.html 事件分发过程 OSX 与用户交互的主要外设是鼠标,键盘.鼠标键盘的活动会产生底层系统事件.这个事件首先传递到IOK ...

  9. tkinter中鼠标与键盘事件(十五)

    鼠标与键盘事件 import tkinter wuya = tkinter.Tk() wuya.title("wuya") wuya.geometry("300x200+ ...

  10. 50-用Python监听鼠标和键盘事件

    转自:https://www.cnblogs.com/qiernonstop/p/3654021.html 用Python监听鼠标和键盘事件 PyHook是一个基于Python的“钩子”库,主要用于监 ...

随机推荐

  1. 【SQL】ON DUPLICATE KEY UPDATE

    在实际应用中,经常碰到导入数据的功能,当导入的数据不存在时则进行添加,有修改时则进行更新, 在刚碰到的时候,第一反应是将其实现分为两块,分别是判断增加,判断更新,后来发现在mysql中有 ON DUP ...

  2. js基础用法 ,基础语法

    js用法: HTML 中的脚本必须位于 <script> 与 </script> 标签之间. 脚本可被放置在 HTML 页面的 <body> 和 <head& ...

  3. 阿里云成为Hyperledger超级账本全球会员,发力区块链生态建设

    摘要: 阿里云将会与Hyperledger社区共同推进全球区块链技术和商业生态在多行业领域的建设. 2018年12月12日在瑞士巴塞尔的2018Hyperledger全球峰会上,阿里云正式加入Hype ...

  4. electron-vue中关闭烦人的es语法检查

    本项目环境是 electron-vue搭建的项目,项目结构根vue-cli创建的项目结构稍微有所不同 主要修改的地方有3个 把这3个文件里面的以下代码全部删掉 { test: /\.(js)$/, e ...

  5. 51nod 1556 计算(递推)

    传送门 解题思路 在一个网格图上走\(n\)步,每次可以向右上,右下,右,但必须在第一象限,最后从\((0,0)\)走到\((n,0)\)的方案数为默慈金数.递推式为\(m[i+1]=\frac{(2 ...

  6. NX二次开发-UFUN适应窗口UF_VIEW_fit_view

    NX9+VS2012 #include <uf.h> #include <uf_view.h> #include <uf_modl.h> UF_initialize ...

  7. C++的指针常量和常量指针

    这2个概念非常容易混淆,即使是老鸟,也有眩晕的时候,写此博文,加深记忆... 指针常量:一个指针,并且它是一个常量,它的值不许被改变: char *const p1 = "Hello!&qu ...

  8. 【2018ACM/ICPC网络赛】焦作赛区

    A Magic Mirror 题目链接:https://nanti.jisuanke.com/t/31710 题意:输入字符串,如果是“Jessy”就输出“Good Guy!",否则输出“D ...

  9. neo4j数据库迁移---------Neo4j数据库导入导出的方法

    Neo4j数据进行备份.还原.迁移的操作时,首先要关闭neo4j; /usr/share/neo4j/bin neo4j stop 如果出现 Neo4j not running 出现这种情况, Neo ...

  10. iOS 工程实现native 跳转指定的Flutter 页面

    概要 在前一篇文章中我们提到,iOS跳转到Flutter工程指定页面时(多个),Flutter只有单例,设置setInitialRouter 无效,如下 let flutterViewControll ...