首页 > 解决方案 > 使用 Python 和 Selenium 的游戏自动化(在 CANVAS 标签中),单击不起作用

问题描述

我正在尝试自动化一个完全在 CANVAS 标签内的游戏,并且其中没有其他元素可以交互。所以我用谷歌搜索是否有办法处理 CANVAS 标签内的元素。但是我找到了一个小python脚本,它需要元素状态的图像,然后与屏幕上的图像匹配,然后使用selenium的move_by_offset函数,我进一步添加以执行点击操作。现在这里的问题是它确实在代码开始时首先找到了元素,但是后续元素虽然它说它找到了,但没有点击它们。对于已经在 GreyScale 中的一个元素(并且因为代码将它们全部转换为 RBG2Grey ,所以即使该元素存在,它也会说超出范围。

游戏的 HTML

<div class="game" style="position: fixed; top: 0px; left: 307.98px; width: 750.039px; height: 422px; visibility: visible;">
<canvas class="layer1" id="layer1" width="1365" height="768" style="position: absolute; top: 0%; left: 0%; width: 100%; height: 100%; display: none; pointer-events: none;"></canvas>
</div>

有人可以帮我解决上述问题。请让我知道在哪里附加 Python 代码供您分析,因为没有附件按钮

提前致谢

标签: pythonseleniumcanvasoffset

解决方案


推荐阅读