【问题标题】:Programmatically make clicks on a webpage以编程方式点击网页
【发布时间】:2010-07-23 23:50:51
【问题描述】:

网页上有一个 onmousedown 事件。我希望能够从我的应用程序调用此事件并将 WebBrowser 对象移动到该页面。我怎样才能做到这一点?

【问题讨论】:

  • 嗯,想赚快钱吗? :)

标签: c# javascript automation webbrowser-control


【解决方案1】:

长话短说,你不能这样做。这是因为 javascript 是一种客户端技术,要完成 javascript 在您的客户端上所做的事情,您将不得不假装自己是客户端:您需要重建整个文档对象模型并以这种方式执行 javascript。

您可以参考我尝试解决类似问题(从 PHP 脚本中调用 javascript)的这张票:Can a php proxy script call javascript functions like click?

也许如果你再解释一下问题域,你会发现你甚至不需要全部的 javascript!你想完成什么,为什么需要 javascript?祝你好运!

【讨论】:

  • 我已经找到了一种替代解决方案,但这个解决方案会容易得多。我是客户,我有一个 Windows 窗体中的 Webbrowser 对象,所以我不应该能够伪造鼠标点击吗?我也发现这是一个解决方案gamedev.net/community/forums/topic.asp?topic_id=321029,但它似乎非常草率。
  • 您无法伪造按钮点击,但您可以将数据发布/获取到您点击按钮后会将数据发送到的任何位置。
  • 这个megasolutions.net/cSharp/…怎么样?我还没来得及测试它,但它看起来很有希望
【解决方案2】:

WebBrowser.Document 属性为您提供HtmlDocument 对象,该对象具有InvokeScript 方法。我以前用它从WebBrowser 控件执行JavaScript。坦率地说,这是一种非常混乱的完成工作的方式,但它对我有用。可能对你有用吗?

【讨论】:

  • 好的,我如何将它指向特定的 mousedown 事件,每页有多个。
【解决方案3】:

gnucom 是对的。

也许不是您正在寻找的解决方案:http://watir.com/examples/
它是基于 Ruby 的,但您可以让您的应用与之交互...

【讨论】:

    猜你喜欢
    • 2011-08-27
    • 1970-01-01
    • 2010-09-28
    • 2014-01-25
    • 2016-07-26
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    • 2015-01-04
    相关资源
    最近更新 更多