C# 如何使用C在WebBrowser中以编程方式单击文本输入#
我已经用WebBrowser打开了一个网站。现在我想以编程方式单击输入文本(textbox)字段。我无法使用focus,因为此网站仅在单击此字段时才使用JS解锁此字段,我也尝试了以下方法: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。如何做到这一点,它将工作?
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是这个吗?