首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过浏览器中的VNC连接自动执行任务

问通过浏览器中的VNC连接自动执行任务
EN

Stack Overflow用户
提问于 2016-03-17 04:19:27
回答 1查看 749关注 0票数 0

因此,首先,总的来说,我试图完成的是让一台基础机器(就像在VPS中一样)使用Python通过Firefox运行自动任务。

现在的目标或目标是让Firefox在浏览器本身中运行给定的任务,然后使用VNC连接连接到VPS (通过浏览器),并控制或向该VPS发出任务(这是我遇到问题的部分);同时还需要尽可能少的内存以实现最高效率。

举个例子,如果你使用过Digital Ocean,你可以在当前浏览器中查看VPS的特定屏幕或终端。

需要说明的是,我用来运行基本进程的VPS OS是Linux,尽管该程序(通过浏览器)连接到的VPS使用的是Windows OS。就像这样(注意我没有截图):

​

​

我的问题在于,在Python (使用Firefox)中使用Selenium运行所有脚本任务后,一旦我在浏览器中打开VPS,我就不知道如何正确地访问它或发出要完成的作业。

我已经考虑过使用(x,y)坐标来进行鼠标单击,但我不能说这是完全有效的(我用iMacros测试了它,尽管还没有使用Selenium)。

因此,简而言之,我首先在Firefox中运行基本任务,然后连接到VPS,最后从Firefox向使用Windows OS环境的VPS发出更多要完成的任务。

关于如何使这一过程更简单、更有效或更可靠的建议?

EN

回答 1

Stack Overflow用户

发布于 2016-03-17 13:34:14

在java中有一个叫做Robot的类,它可以处理几乎所有的键盘操作。

在python gtk.gdk.Display中也有类似的东西。

请参阅以下资料:

Is there a Python equivalent to Java's AWT Robot class?

Take a screenshot via a python script. [Linux]

或

Python ctypes keybd_event simulate ctrl+alt+delete

演示java代码:

代码语言:javascript
复制
 try{   
    Robot robot = new Robot();
    robot.keyPress(KeyEvent.VK_CONTROL);
    robot.keyPress(KeyEvent.VK_ALT);
    robot.keyPress(KeyEvent.VK_DELETE);
    robot.keyRelease(KeyEvent.VK_CONTROL);
    robot.keyRelease(KeyEvent.VK_ALT);
    robot.keyRelease(KeyEvent.VK_DELETE);

 }
 catch(Exception ex)
 {
     System.out.println(ex.getMessage());
 }

希望它能帮助您:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36046142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档