我正在尝试创建一个可以使用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>
以下是我的代码,我发现ScrollIntoView
和Focus
方法正常
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");
}
}
我很感激,如果有人能帮我解决问题。谢谢你的帮助!
答案 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);
您可能需要稍微调整一下语法,但这应该会让您走上正确的道路。