簡體   English   中英

如何使用 Python 到 pycharm 在不同的程序中按下一個鍵

[英]How to press a key in different program using Python through pycharm

我有一個始終打開的程序,我不時需要為它更新一些背景文件,但是我需要在程序中按一個鍵來刷新它。 我正在尋找一種在更新腳本完成后自動刷新的方法。

我需要做什么:

1 - go 到我電腦上的打開程序,稱為Program

2 - 按ctrl + shift + r執行刷新

這是我嘗試過的腳本,但在 Pycharm 中沒有這樣的運氣:

import pyautogui
from time import sleep
import subprocess

p = subprocess.Popen(r'C:\Users\xxx\Desktop\xxx\Program.exe')
pyautogui.keyDown("ctrl")
pyautogui.keyDown("shift")
pyautogui.press("r")
pyautogui.keyUp("ctrl")
pyautogui.keyUp("shift")
 

p.kill()

該腳本將我留在 pycharm 中,並將我發送到查找和替換任務。 有任何想法嗎? 謝謝!

有一個簡單的繞過方法,讓你的程序休眠幾秒鍾,直到你手動關注 window。

在這里,我在 StachOverflow 上試過這個,它奏效了!

import pyautogui
from time import sleep

sleep(5)
pyautogui.keyDown("ctrl")
pyautogui.keyDown("shift")
pyautogui.press("r")
pyautogui.keyUp("shift")
pyautogui.keyUp("ctrl")

運行代碼后,我切換到選項卡並等待。 很快網頁就刷新成功了!

注意:這只是一個小旁路。 我建議您按照 Grismar 的建議了解如何讓其他window成為焦點

對我有用的答案是讓 window 成為焦點:

Python Window 激活

然后運行以下命令:

pyautogui.keyDown("ctrl")
pyautogui.keyDown("shift")
pyautogui.press("r")
pyautogui.keyUp("ctrl")
pyautogui.keyUp("shift")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM