【发布时间】:2019-08-08 02:04:02
【问题描述】:
我正在使用 pyautogui 库。当我调用 pyautogui.press() 时,它没有在 Chrome Flash 播放器中注册点击。我该如何克服这个问题?
import pyautogui
pyautogui.press('right')
这是我使用的基本代码,它适用于文本编辑器和 Chrome 内部,但不适用于 chrome 的 Flash 播放器。
我正在使用它的网站是http://www.tetrisfriends.com/games/Sprint5P/game.php,我想在其中自动化积木的移动。谢谢。
【问题讨论】:
-
浏览器中的 Flash 内容必须具有 focus 才能响应键盘或点击。这意味着您必须先单击游戏区域的某个位置,然后再单击...在您的链接上,单击不是游戏的其他内容(例如:页面背景等)并尝试控制游戏(由于未集中注意力而没有响应)。使用点击不应该是
pyautogui.click(some X pos, some Y pos)吗?在“点击”该游戏位置后,可能会尝试使用键盘“按下”... -
我没有尝试鼠标点击,但我已经通过在游戏区域中多次聚焦来清楚地检查键盘按下。当我将光标聚焦在文本编辑器中时,它可以正常工作并注册按键,但不在 Flash 播放器中。当我专注于 Flash 播放器时,击键将进入执行程序的 cmd。
-
您现在是否在期望通过键盘控制之前尝试在游戏上单击鼠标? Flash Player 是一个插件(就像在浏览器内的层中运行的单独程序)。我的观点的例子:(不使用PyAutoGUI)只是去游戏,开始玩然后点击网页背景(蓝/白方块壁纸),注意到弹出说需要点击游戏来控制它吗?确保您的 PyAutoGUI 测试满足该要求...
标签: google-chrome flash pyautogui