Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用C在WebBrowser中以编程方式单击文本输入#_C#_.net_Winforms_Click_Webbrowser Control - Fatal编程技术网

C# 如何使用C在WebBrowser中以编程方式单击文本输入#

C# 如何使用C在WebBrowser中以编程方式单击文本输入#,c#,.net,winforms,click,webbrowser-control,C#,.net,Winforms,Click,Webbrowser Control,我已经用WebBrowser打开了一个网站。现在我想以编程方式单击输入文本(textbox)字段。我无法使用focus,因为此网站仅在单击此字段时才使用JS解锁此字段,我也尝试了以下方法: Object obj = ele.DomElement; System.Reflection.MethodInfo mi = obj.GetType().GetMethod("click"); mi.Invoke(obj, new object[0]); 但它返回mi=null。如何做到这一点,它将工作?

我已经用WebBrowser打开了一个网站。现在我想以编程方式单击输入文本(textbox)字段。我无法使用focus,因为此网站仅在单击此字段时才使用JS解锁此字段,我也尝试了以下方法:

Object obj = ele.DomElement;
System.Reflection.MethodInfo mi = obj.GetType().GetMethod("click");
mi.Invoke(obj, new object[0]); 

但它返回mi=null。如何做到这一点,它将工作?

非常类似于我的答案


获取文本框的HtmleElement响应,并在其上调用HtmleElement.InvokeMember(“单击”)。

与我在上的回答非常相似


获取文本框的HtmleElement响应,并在其上调用HtmleElement.InvokeMember(“单击”)。

在HtmleElement或Browser.InvokeScript函数上使用InvokeMethhod。

在HtmleElement或Browser.InvokeScript函数上使用InvokeMethhod。

如果可以,请使用:

webbrowser1.Navigate("javascript:document.forms[0].submit()")
或者类似的东西。对我来说,这更简单、更准确。

如果可以,请使用:

webbrowser1.Navigate("javascript:document.forms[0].submit()")

或者类似的东西。对我来说,这更容易、更准确。

填写网页上的文本字段:

string code ="";
code = code + "var MyVar=document.getElementById('tbxFieldNameOnWebPage');if(MyVar != null) MyVar.value = 'SOMEVALUE';";
domDocument.parentWindow.execScript(code, "JScript");

Then To Click a button on a webpage:

code = "";
code = "var SignupFree = document.getElementsByTagName('button')[1];";
code = (code + " SignupFree.click();");
domDocument.parentWindow.execScript(code, "JScript");

您还可以使用
document.getElementById('buttonID')
而不是
document.getElementsByTagName('button')[1]但必须为该特定网页上的此按钮提供id。

要填充网页上的文本字段:

string code ="";
code = code + "var MyVar=document.getElementById('tbxFieldNameOnWebPage');if(MyVar != null) MyVar.value = 'SOMEVALUE';";
domDocument.parentWindow.execScript(code, "JScript");

Then To Click a button on a webpage:

code = "";
code = "var SignupFree = document.getElementsByTagName('button')[1];";
code = (code + " SignupFree.click();");
domDocument.parentWindow.execScript(code, "JScript");

您还可以使用
document.getElementById('buttonID')
而不是
document.getElementsByTagName('button')[1]但必须为该特定网页上的此按钮提供id。

我没有InvokeMethod only InvokeMember是这个吗?我没有InvokeMethod only InvokeMber是这个吗?