我知道创建和操作工作簿/粘贴的最有用的工具是 Pandas 或 Openpyxl。
我的问题是 TOTVS:我在其程序中找到一个表,我需要复制到数据库。
我尝试仅使用
pyautogui.hotkey('ctrl','shift','down')
浏览整个专栏。但是,它不是选择整个列,而是直接选择到最后。没有选择。
我注意到我这边也有类似的问题。
在我看来,PyAutoGUI 在模拟按下两个以上非字母数字按钮作为热键时可能存在一些问题。
让我澄清一下我的经历:
我的设置:
我尝试使用热键 CTRL + SHIFT + DEL 组合自动清除 Chrome 缓存/cookie:
import pyautogui, time
pyautogui.click(256,1056) # Chrome icon click
time.sleep(2)
pyautogui.click(952,606) # click on Chrome empty page
pyautogui.hotkey('ctrl', 'shift', 'delete')
结果:目视
pyautogui.hotkey
命令似乎没有被执行,Chrome缓存/cookies清除窗口没有打开。
我有几种关于它为什么不能正常工作的理论(结果证明它们都是无关紧要的):
pyautogui.PAUSE
设置影响热键操作 -> 将其从脚本中删除。pyautogui.hotkey
问题 -> 尝试使用 pyautogui.hold
和 pyautogui.keyDown
作为最后一个结果,我看到部分热键组合起作用(按下 CTRL + SHIFT)。
对于其他结果与初始脚本相同(未打开缓存/cookie 清除窗口)。
我最终尝试通过 CTRL + ALT + DEL 组合打开 Windows 任务管理器。它对我来说效果不太好。行为与 Chrome 脚本的行为相同。
同时,Chrome 内部的字母数字键(例如 CTRL + SHIFT + N)和外部的字母数字键(CTRL + A)等组合键都可以正常工作,正如预期的那样。
UPD:我刚刚找到了另一种方法,我认为它提供了一些线索。
我使用W3C在线按键事件查看器来查看键盘输入日志。
结果如下:
案例1:
pyautogui.hotkey('ctrlleft', 'shiftleft', 'altleft')
键盘输入日志:
案例2:
pyautogui.hotkey('ctrlleft', 'shiftleft', 'delete')
键盘输入日志:
有人可以解释一下案例 2 中发生了什么以及为什么吗?
用这个代替,它有效:
pyautogui.hotkey('ctrl','shiftright','shiftleft','del')