【问题标题】:control a browser on another computer控制另一台计算机上的浏览器
【发布时间】:2011-01-24 21:21:06
【问题描述】:

嗯,

输入标题让我觉得我是一个黑客,要求一些非法的东西....

但我认为事实是不同的。我的客户想同时控制不同计算机上的 3 个 Web 应用程序。

我不能确切地说这是什么目的,但他希望,当他在浏览器中的按钮 1 上单击计算机 A 时,在浏览器中的计算机 B 上也单击按钮 1,并且也在电脑C。

当我将这个过程分为 3 个步骤时,我意识到它们都不是我以前做过的事情:

首先是从浏览器中获取点击事件 二是通知B号和C号电脑点击事件 第三是在计算机B和C的浏览器中点击一个按钮

我不知道如何完成的三件事(我过去做过一些远程处理,也许这可以用于三台计算机之间的通信,但我只记得远程处理没有成为我的朋友)

因此,如果您能给我任何有关如何在浏览器之外捕获浏览器事件、在两台电脑之间进行通信以及从浏览器外部引发浏览器中事件的线索,我们将不胜感激。

编辑:

我不控制应用程序。我的客户将使用它来发送多个库存订单。所以我认为您可以将其与投票网站上的投票进行比较

【问题讨论】:

  • 你知道这样做的原因是什么吗?我只问是因为基于这样做的原因,可能会有不同的答案。是加载网络服务器吗?是对投票网站进行投票吗?是否允许多个显示器显示相同的内容?所有这些都有不同的解决方案,IMO。
  • 您是否控制其他浏览器正在访问的网站,或者您是否尝试在任意网站上自动化它们?
  • 这是一个有趣的问题,所以为新事物 +1。如果有可能,我想知道。只要想想如果这可能实现的潜在漏洞利用,我就会感到震惊。
  • 我不控制应用程序。我的客户将使用它来发送多个库存订单。所以我认为您可以将其与投票网站上的投票进行比较。

标签: c# .net browser remoting


【解决方案1】:

我知道这不是直接回答您的问题,但从业务和开发人员的角度来看,这是一个有效的答案。

除非您的客户愿意为开发时间付出高昂的代价,否则最好找出客户想要这样做的原因并提供可能的替代方案。如果没有大量的工作,他们所要求的就无法完成。我什至不确定从哪里开始 - 可能使用 WinForms 应用程序中的 BrowserControl 编写我自己的浏览器,并使用 Remoting 来控制 WinForms 应用程序。

确实,您最好更好地研究需求并提出可行的替代方案。成为一名优秀的开发人员/分析师/项目经理等的一部分是能够从客户所说的他们想要的内容中正确地判断出客户的实际需求。

可能他们只需要您跟踪某事的状态,而您的单独浏览器需要自动刷新。或者可能是 WinForms 不是适合这项工作的工具。或者它可能是完全不同的东西。哎呀,它可能就像只有一个浏览器一样简单,人们可以使用 VNC 或类似工具从另一台 PC 上“观看”该浏览器。

通常有多种方法可以满足业务需求,而无需关注困难的技术要求。 重要的是业务需求。如果你能找到另一种方法来满足它,你就不需要在这类问题上旋转你的轮子了。

作为补充说明,听到您甚至在不理解原因的情况下寻找“如何做到这一点”,这让我感到畏缩。获得正确的需求在开发中非常重要。大多数项目失败是因为需求沟通不充分。

【讨论】:

  • 我同意提前得到 req,我认识他们,我想我写下了我想要的。我无法确切地告诉我的客户想要做什么,但我认为我的问题很清楚,但不知道他想在哪个应用程序中单击按钮?他是想多次提交投票还是向 stackoverflow 发送多个 cmets 是否重要?我不知道你为什么质疑我的技术解决方案的必要性?
【解决方案2】:

您想要执行的操作类似于“共享浏览”或“跟随我浏览”。

有一些问题需要问:

  • 您想在安装或不安装某种浏览器插件或应用程序的情况下执行此操作吗?
  • 是“共享浏览”,仅在您开发的 Web 应用程序上完成,或者您需要浏览到无法添加代码的远程网站。

如果 Web 应用程序可以修改,您可以拥有所有客户端:

  • 发送他们对服务器执行的所有操作(#id1,点击)
  • 轮询服务器以获取需要触发的操作列表 (jQuery('#id1').click())

如果只有一个客户端是“主”而其他所有客户端都是从属,那么同步每个人应该很容易。

在多主机设置中,同步会稍微复杂一些,然后您可能会重新开发 Google Wave ;-)

现在,如果您需要能够对任何网站进行共享浏览,那就要复杂得多了。如果您的解决方案需要跨浏览器工作,那就更复杂了。您将需要为所有受支持的操作系统的每个受支持的浏览器或本机应用程序开发扩展。我建议您寻找已经具有共享浏览功能的现有解决方案。您还可以查看 VNC 系列解决方案(完整的桌面控制)。

希望对你有帮助,

杰罗姆·瓦格纳

【讨论】:

  • 一切都是允许的,所以如果我必须创建一个插件来让我从浏览器中获取事件,那没关系。
  • 很遗憾我无法更改应用程序
猜你喜欢
  • 1970-01-01
  • 2016-04-16
  • 1970-01-01
  • 1970-01-01
  • 2018-04-20
  • 1970-01-01
  • 2018-01-31
  • 2013-01-25
  • 2018-06-16
相关资源
最近更新 更多