【问题标题】:Emulate a mouse click without using the actual mouse on linux在 linux 上模拟鼠标点击而不使用实际的鼠标
【发布时间】:2017-07-04 00:42:02
【问题描述】:

我正在使用一个程序来收集大量数据,然后在程序中将其显示给您。不幸的是,该程序设计不佳,需要您通过单击复选框来“批准”手动收集的每一位数据以进行批准。为了使这个过程自动化,我编写了一个小脚本来扫描一个复选框,单击它,然后单击“下一项”。

不幸的是,这需要移动实际的鼠标,这意味着在程序完成之前我无法使用我的电脑。还有其他 questions reference 使用 winapi 自动执行此操作,但是这些都不适用于 Linux。有什么方法可以在 Linux 上实现自动化?

【问题讨论】:

    标签: python linux


    【解决方案1】:

    您可以简单地在单独的 X 服务器中启动程序,例如使用 xvfb 和

    xvfb-run YOUR_PROGRAM
    

    如果您只想包装已检测的程序,这也是可能的:

    export DISPLAY=:42
    Xvfb :42
    THE_INSTRUMENTED_PROGRAMM
    xdotool mousemove 1 1 click 1 # your instrumentation goes here
    

    【讨论】:

    • 是的,两个程序都需要在同一个 X 服务器上运行。使用选项 1(xvfb-run,您启动一​​个包装程序,该程序启动数据收集程序和您的机器人)。使用选项 2,将 THE_INSTRUMENTED_PROGRAM 替换为您正在检测的程序(您将其称为 data collection program)并将 xdotool ... 替换为您的机器人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 2011-04-02
    • 2011-04-12
    • 1970-01-01
    相关资源
    最近更新 更多