zoukankan      html  css  js  c++  java
  • 实现python操作键盘

    相信大家在使用selenium做网页自动化时,会遇到如下这样的一个场景:

    在你使用get访问某一个网址时,会在页面中弹出如上图所示的弹出框。

    首先想到是利用Alert类来处理它。

    然而,很不幸,Alert类处理的结果就是没有结果,并不能够将这个弹出框关闭掉。

    无法用处理alert的方式来关闭该弹出框,不关闭又无法对页面进行其他操作,怎么办呢?


    解决方案

    用键盘的Enter键来关闭该弹出框。

    由于send_keys方法只能是针对元素来发送selenium的key值,而当前案例无法定位到该弹出框。

    所以使用 PyKeyboad 来实现用python操作键盘


    具体解决步骤

    步骤1:想要使用PyKeyboard,需要先安装:pywin32->pyHook->PyUserInput

    (1)安装pywin32

    安装国外源的pywin32,会经常遇到因为超时导致安装失败,因此建议用国内源来安装。

    可通过cmd来安装国内源的pywin32,指令如下:

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pywin32

    其中:https://pypi.tuna.tsinghua.edu.cn/simple是清华大学的镜像文件地址。

    也可选择其他国内源,例如:

    阿里云:https://mirrors.aliyun.com/pypi/simple/

    豆瓣:https://pypi.douban.com/simple/

    (2) 如何安装pyHook

    https://blog.csdn.net/dianmomanxue/article/details/95044676下载对应版本的pyHook后,通过cmd进入到该pyHook的文件夹路径后,输入:

    pip install pyHook1.5.1cp37cp37mwin_amd64.whl

    (3) 如何安装PyUserInput

    通过cmd,输入:pip install PyUserInput

    步骤2:py文件中导入PyKeyboard,并输入Enter键:

     

    若需要按下其他键,可选中PyKeyboard后,按ctrl+b,查看 special_key_assignment函数下的属性的说明。

    本文最开头截图完整的处理代码如下:

     

    来源: https://mp.weixin.qq.com/s/5w2qQ02DkIKIWZmnWkRL6w

  • 相关阅读:
    codeforces 447C. DZY Loves Sequences 解题报告(446A)
    ajax 请求多张图片数据
    window 常用软件
    linux 脚本命令匹配并获取下一行数据
    linux C之getchar()非阻塞方式
    php curl 库使用
    vue.js 简单入门
    巧用jQuery选择器写表单办法总结(提高效率)
    linux 中断理解
    linux 驱动 工作队列
  • 原文地址:https://www.cnblogs.com/kaibindirver/p/12568694.html
Copyright © 2011-2022 走看看