HtmlElement.invoke(“click”)不起作用

时间:2011-08-08 15:57:39

标签: c# forms browser onclick

我正在尝试创建一个可以使用WebBrowser控件(C#)自动填充html表单的应用程序。网页上有一个选项列表,我可以在下拉框中找到相应的元素。但是当我调用invokemember("click")方法时,HTML的选择元素中没有响应.Below

  
<div>
class="ddlcont" style="display: block; width: 150px; top: 414px; left: 790.75px;">   
<a class="select" v="0" href="javascript:;">Not </a>
<a v="419000" href="javascript:;">insure</a></div>

以下是我的代码,我发现ScrollIntoViewFocus方法正常

HtmlElementCollection element_div=currentWindow.Frames[0].Document.GetElementsByTagName ("div");

foreach (HtmlElement item in element_div)
{
    if (item.GetAttribute("classname") == "ddlcont" && item.Children.Count !=0)
    {
        item.Children[1].ScrollIntoView(true);
        item.Children[1].Focus();
        item.Children [1].SetAttribute("selected", "true");
        item.Children [1].InvokeMember("Click");                    
    }  
}

 我很感激,如果有人能帮我解决问题。谢谢你的帮助!

2 个答案:

答案 0 :(得分:0)

您可能粘贴错误,但在您的示例div中没有class
看:

<div>
class="ddlcont" style="display: block; width: 150px; top: 414px; left: 790.75px;">  

应该是

<div
class="ddlcont" style="display: block; width: 150px; top: 414px; left: 790.75px;">  

(第一行没有>

答案 1 :(得分:0)

尝试这样的事情:

Button1.GetType().GetEvent("OnClick").GetRaiseMethod().Invoke(Button1, EventArgs.Empty);

您可能需要稍微调整一下语法,但这应该会让您走上正确的道路。