【问题标题】:How to use JQuery with the C# WebBrowser control如何将 JQuery 与 C# WebBrowser 控件一起使用
【发布时间】:2016-03-13 13:24:46
【问题描述】:

我正在尝试在我的 C# 应用程序中执行此 jquery 操作: $(".icon-radiobutton").click()

我尝试了以下方法:

WebBrowser1.Document.GetElementsByName(".icon-radiobutton").InvokeMember("click")

但这似乎不是这样做的方法。

【问题讨论】:

  • jQuery 是客户端的 - 您需要从您的网页之一调用它,而不是在 .cs 文件(服务器端)中调用它。
  • 但这行得通吗? : WebBrowser1.Document.GetElementById("description").SetAttribute("value", descTextbox.Text);
  • @ragerory 这似乎不是 ASP.NET 环境。相反,它看起来像 Windows Forms WebBrowser 控件(嵌入式 IE),他正试图在客户端进行操作。
  • 确实我已经在应用程序中创建了我的网络浏览器的实例
  • 我不熟悉GetElementByName,但这意味着它将通过元素名称本身而不是类来查找元素。您正在尝试按班级搜索。

标签: javascript c# webbrowser-control


【解决方案1】:

编写一个 javascript 函数来执行此操作并使用您的 webBrowser 组件调用它

js:

function MyCLickFunction()
{
    $(".icon-radiobutton").click()
}

c#:

webBrowser1.Document.InvokeScript("MyCLickFunction");

【讨论】:

  • 你如何让它看到那个 JavaScript 函数?您是否将其插入到文档中?您是否以某种方式注册它?
  • 你明白了,抱歉我没说清楚。 JS 需要位于 Web 浏览器控件的目标页面中
  • 如果 JS 不在目标页面中,并且是您无法控制的页面(常见场景)怎么办?
  • 如果您不控制页面,我不确定您为什么需要操纵它。理论上你可以用你的 javascript 调用 eval,但它很hacky且不安全,所以我不推荐它。
  • 我正在尝试制作一个可以转到带有表单的页面的应用程序。之后他必须填写表格。
猜你喜欢
  • 2011-02-14
  • 1970-01-01
  • 2010-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多