目的:因数据大屏(BI)显示在网页端,为了实现网页上多个页面之间的定时自动切换,研究VB实现无果后研究python实现。
版本及环境:Python 3.6.1 |Anaconda 4.4.0 (64-bit),WIN10 64位
实现原理:模拟按键Ctrl+PageDown
Python涉及模块:time,pykeyboard 其中使用pykeyboard 需先安装 PyUserInput 模块,直接用pip install PyUserInput 安装失败,提示需先有 pywin32 及 pyHook,其中pywin32 在Anaconda 4.4.0 (64-bit) 中已自带,因此安装pyHook,直接pip install pyHook仍然失败,在网上找到一个网址可以下载pyHook wheel文件,网址为:Python Extension Packages for Windowswww.lfd.uci.edu
根据电脑系统 下载了对应的:pyHook‑1.5.1‑cp36‑cp36m‑win_amd64.whl 文件;(32位的需下载pyHook‑1.5.1‑cp36‑cp36m‑win32.whl)
下载后直接cmd命令cd到文件对应的文件夹地址 pip install pyHook-1.5.1-cp36-cp36m-win_amd64.whl 安装成功,然后继续pip install PyUserInput 安装成功
实现代码:
代码部分比较简单,但是PyKeyboard 功能很强大,可以模拟电脑鼠标和键盘的各种操作,能够解决很多重复机械性的操作。
from time import sleep
from pykeyboard import PyKeyboard
i=1
for i in range(10):
sleep(5) #5秒后执行
k = PyKeyboard()
k.press_key(k.control_l_key) #按住 左边 Ctrl 键
k.tap_key(k.page_down_key) #按一下 PageDown 键
k.release_key(k.control_l_key) #松开 control 键
print('第%s次按下一页' %str(i+1))
i=i+1
exit
print('页面切换结束')
本文仅以记录python学习历程中有趣的小功能,后续将不定期的更新其它内容,主要涉及数据分析工具运用(Python、Excel、Sql、Tableau、Power BI、SPSS)及数据分析项目心得。
VB里面用SendKeys+timer也能实现同样的功能。