python - 我如何编写一个宏来为我在网页游戏中进行点击?

标签 python macros

我目前正在玩Mr. Mine,我懒得每1~2分钟点击一次'sell'。

我可以使用一个鼠标宏程序,我可以让计算机为我做点击,但这听起来像一个不雅的方法。

我正在考虑某种方法,我可以编写一个代码,该代码将在打开网络游戏的情况下侵入网络浏览器,并以某种方式向将出售矿物的服务器发送某种“请求”。

我的意思是,毕竟,手动单击它最终会向服务器发送一些请求,那么为什么不通过预编程代码发送呢?

我知道我的问题很广泛,所以让我问几个问题,这些问题可以引导我开始我的项目。

  • 我需要学习什么来理解“发送请求”部分?
  • 是否有任何人或任何脚本已经完成了我想做的事情?

  • 我想看看源代码。 (就算不是Mr.Mine也没关系,其他网页游戏也有帮助)

    另外,我目前对python很感兴趣,所以如果python中有任何例子,我会非常感激。

    更新:“我已经解决了这个问题”

    我只是在写我是如何解决这个问题的,以防万一其他刚开始 Mr.Mine 的人面临和我一样的懒惰。

    事实证明,Mr.Mine 实际上并没有与其服务器交换数据包。它只使用互联网连接来初始加载图像和所有这些。(我认为是..)

    如果你右击Mr.Mine 网页并查看它的html 代码,你会发现它充满了javascripts。

    在粗略地阅读了这些 javascript 之后,我认为这个游戏不太依赖数据包数据的理论变得更有说服力了。

    无论如何,这就是为什么我从 javascript 的角度来解决我的问题,我终于找到了解决方案

    您需要做的是利用 chrome 的开发人员工具。(我是 chrome 用户)

    您也可以通过以下方式访问此工具:从 mr.mine 网页,右键单击任意位置 -> 单击最后一个按钮。然后你会在屏幕底部看到一些面板弹出。

    该工具使您能够摆弄其中的 html 代码或 javascript。

    我也不擅长这个,因为这是我第一次将它实际用于实际目的。
    我只是通过谷歌搜索来满足我的需求,从而获得了足够的知识。

    在这个新面板的顶部菜单栏中,最右侧有“控制台”选项卡。
    单击此按钮,您将看到一个命令控制台。
    这是您可以在网页的 javascript 中执行 java 命令的地方。

    好吧,从这里开始,它与“先生”有关。

    从我之前对 javascript 的粗略阅读中,我发现卖出按钮的 ID 为“SB2”、“SB3”、“SB4”等。

    所以我所做的只是输入
        setInterval(document.getElementById("SB2").onclick, 300);
    

    在命令行并按下回车键。
    此命令将每 0.3 秒自动按下 SB2 按钮(对应于“煤炭”)。

    *注意:执行此代码时,您必须打开“销售”页面。我发现如果“销售”页面没有打开,代码就不起作用。

    *Caution2:还有一个有趣的事情是,即使在'sell'页面,如果你转到'sell isotope'页面,它会自动出售Uranium 238。这是因为SB2按钮对应'sell isotope'选项卡中的Uranium 238。所以要小心!

    *注意3:如果你这样做,一个错误弹出窗口会不断出现。我刚刚启用了“从不显示此弹出窗口”复选框,之后它就可以正常工作了。但是有一个副作用:按下“保存”按钮后出现的通常弹出窗口不再出现......但它值得牺牲不是吗?

    无论如何,如果您想自动出售其他矿石,您所要做的就是输入类似的代码,例如:
        setInterval(document.getElementById("SB3").onclick, 300);
        setInterval(document.getElementById("SB4").onclick, 300);
    

    ... 等等。

    看到只是更改“SB”之后的数字对应于列表中的下一个矿石(同位素)。

    好吧,感谢您阅读了这么多,我希望其他 Mr.Mine 用户可以通过这种技术发挥创造力并做更多事情。

    最佳答案

    您可以使用数据包捕获工具,例如 wireshark .计算出游戏发送到服务器的格式和数据。

    一旦您了解了结构,您就可以编写脚本来拦截您的游戏流量,添加所需的参数并定时发送请求。 (这一切都假设它确实加密了它的网络流量,在这种情况下这可能会有点困难)

    您可以通过 this 找到更多信息搜索。

    关于python - 我如何编写一个宏来为我在网页游戏中进行点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20832572/

    相关文章:

    python csv 分隔太多

    C++ 类工厂宏

    C 宏将函数名称与预定义的名称列表进行比较

    C++ Visual Studio "Disgusting Macro Hack"编译问题

    python - Python v3.7.x中,被调用函数如何获取调用函数的名称?

    python - 查找特定距离内的所有最近邻居

    python - 如何在Python中使用if语句生成随机数?

    python - 如何使用协程作为 pytest fixture ?

    python - LibreOffice - 如何通过 python 宏创建文件对话框?

    clojure - 为什么 Clojure 试图解析这个符号?