2017-07-04 121 views
1

我正在使用一个程序来收集大量数据,然后在程序中显示给您。不幸的是,该方案设计不佳,需要您“批准”手动收集的每一位数据,方法是点击复选框进行批准。为了实现这一过程的自动化,我编写了一个小脚本,用于扫描复选框,单击它,然后单击“下一个项目”。在linux上模拟鼠标而不使用实际鼠标

不幸的是,这需要移动实际的鼠标,这意味着我不能使用我的电脑,直到程序结束。还有其他的questionsreference与winapi自动化,但是这些都不能在Linux上运行。什么是在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 
+0

我不对X服务器不太了解。我是否会在其他x服务器上启动我的机器人和数据收集程序? – Frank

+1

是的,这两个程序都需要在同一台X服务器上运行。使用选项1('xvfb-run',您可以启动一个包装程序来启动数据收集程序和您的机器人程序)。使用选项2,用您的机器人程序替换'THE_INSTRUMENTED_PROGRAM'(您称之为“数据收集程序”)和'xdotool ...'。 – phihag