Selenium - 模拟键盘鼠标

鼠标操作

  • 当出现由 Selenium 的 click 无法进行操作,或者需要对元素进行拖拽等操作时,可以采用鼠标模拟人工操作:

    from selenium import webdriver
    
    # 导入鼠标库
    from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Chrome()
    driver.get('http://www.baidu.com') # 实例化鼠标库,并引用webdeiver
    mouse = ActionChains(driver)
    element = driver.find_element_by_id('kw') # 将鼠标悬停到元素上
    mouse.move_to_element(element).perform() # 鼠标左键点击
    mouse.click(element) # 鼠标右键点击
    mouse.context_click(element) # 鼠标左键点击,不松开
    mouse.click_and_hold(element) # 鼠标左键双击
    mouse.double_click(element) # 拖拽到某个元素然后松开
    mouse.drag_and_drop(source, target) # 拖拽到某个坐标然后松开
    mouse.drag_and_drop_by_offset(source, xoffset, yoffset)

键盘操作

  • 常见的 Selenium 模拟键盘主要是针对一个快捷键的操作,例如复制、粘贴;

    from selenium import webdriver
    
    # 导入selenium 的键盘模块
    from selenium.webdriver.common.keys import Keys driver = Webdriver.Chrome()
    # 键盘操作
    driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'c') # 复制
    driver.find_element_by_id('kw').send_keys(Keys.SHIFT, '1') # 中文叹号
    driver.find_element_by_id('kw').send_keys(Keys.DELETE) # 删除按钮
    driver.find_element_by_id('kw').send_keys(Keys.TAB) # 制表键TAB
    driver.find_element_by_id('kw').send_keys(Keys.ENTER) # 回车按钮ENTER
    driver.find_element_by_id('kw').send_keys(Keys.F1) # 键盘F1按钮

Selenium - 模拟键盘鼠标操作的更多相关文章

  1. C# winform 模拟键盘鼠标操作

    1.获取鼠标位置 private void timer1_Tick(object sender, EventArgs e) { // timer1.Stop(); // int x = Control ...

  2. UI自动化测试(四)AutoIT工具使用和robot对象模拟键盘按键操作

    AutoIT简介 AutoIt 目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/ ...

  3. Java&Selenium 模拟键盘方法封装

    Java&Selenium 模拟键盘方法封装 package util; import java.awt.AWTException; import java.awt.Robot; import ...

  4. 屏幕实时显示键盘鼠标操作软件keycastow,适合做视频教程

    屏幕实时显示键盘鼠标操作软件keycastow,适合做视频教程 学习了:https://www.52pojie.cn/thread-535154-1-1.html 进行键盘按键的屏幕实时显示:

  5. Selenium键盘鼠标操作总结

    鼠标操作 org.openqa.selenium.interactions.Actions 1.给元素设置焦点. 有时对于a标签等,为了不跳转到别的链接,但是需要设置焦点时就可使用. action.m ...

  6. selenium学习-模拟键盘按键操作

    导入  from selenium.webdriver.common.keys import Keys  格式:Keys.XXX 一般这么用:send_keys(Keys.XXX) # coding= ...

  7. selenium模拟键盘操作

    单键 /** * 模拟键盘回车事件 * @throws AWTException */ public void KeyEventEnter() throws AWTException { Robot ...

  8. selenium自动化之鼠标操作

    在做自动化测试的时候,经常会遇到这种情况,某个页面元素,你必须要把鼠标移动到上面才能显示出元素.那么这种情况,我们怎么处理呢?,selenium给我们提供了一个类来处理这类事件——ActionChai ...

  9. python之selenium玩转鼠标操作(ActionChains)

    前提: 一般人用selenium自动化时,会用到模拟鼠标操作的情况,像单击,双击,右击,左击啊等,这个时候我们就要用到ActionChains了. 内容: 1.ActionChains用法整理 cli ...

  10. 在WebBrowser中通过模拟键盘鼠标操控网页中的文件上传控件(转)

    引言 这两天沉迷了Google SketchUp,刚刚玩够,一时兴起,研究了一下WebBrowser. 我在<WebBrowser控件使用技巧分享>一文中曾谈到过“我现在可以通过WebBr ...

随机推荐

  1. CSS函数var

    /*全局变量保存的地方*/ :root { --main-bg-color: red; /* 变量名必须以--开头 */ } var(custom-property-name, value) 值 描述 ...

  2. LoadRunner——安装教程以及创建与录制(一)

    theme: channing-cyan 1. loadrunner12|loadrunner12官方版下载(附安装教程)+网盘下载+汉化包 CSDN下载及安装教程: https://blog.csd ...

  3. Google colab复现openpose+st-gcn的心路历程

    Google colab复现openpose+st-gcn的心路历程: 因为本人的大致研究方向为动作识别,加上自己的笔记本比较菜鸡,没有牛皮的显卡,所以采用了google的colab.在网上查了三天, ...

  4. SpringBoot笔记--自动配置(高级内容)(下集)

    案例需求 实现步骤: 具体的实现 1.引入Jedis依赖 2.提供Jedis的Bean 找到SpringBoot的执行文件,按住Ctrl键,进入SpringBootApplication注解,再进入E ...

  5. Android笔记--如何在Android studio里面打开数据库

    具体操作 可参考这篇(更为详细): https://www.cnblogs.com/liuzijin/p/17029231.html 1.找到界面内的Device File Explorer 这里找可 ...

  6. Java笔记第七弹

    案例:复制Java文件(打印流改进版) import java.io.*; public class Main{ public static void main(String[] args) thro ...

  7. Qt 学习笔记 - 第五章 - Qt 时间编程 - Qt 时钟

    原文地址:Qt 学习笔记 - 第五章 - Qt 时间编程 - Qt 时钟 Qt 学习笔记全系列传送门: Qt 学习笔记 - 第一章 - 快速开始.信号与槽 Qt 学习笔记 - 第二章 - 添加图片.布 ...

  8. Agora 教程丨如何实现15mins自主搭建一个教育平台?

    [ 前言 ] 2020 年对于全球而言都是非常特殊的一年,人与人之间的"物理连结"受到了严重影响,日常的生活.工作大都也逐渐向线上转移.受此影响,大量的线下业务也加速了线上转型,这 ...

  9. Django-5

    Django-5 1.Coookie 1.1 什么是cookie Cookie是储存在浏览器端的一小段文本数据(键值对). 被广泛用于在网站之间传输信息, 当您访问一个网站时,它会将一个Cookie发 ...

  10. 改进 hibernate-validator,新一代校验框架 validator 使用介绍 v0.4

    项目介绍 java 开发中,参数校验是非常常见的需求.但是 hibernate-validator 在使用过程中,依然会存在一些问题. validator 在 hibernate-validator ...