我想在Web浏览器控件中为div设置click事件,该div没有id,所以我按标题搜索它。 并像我使用按钮控件一样设置一个单击,但是它不起作用。 这是我的代码:
private void button3_Click(object sender, EventArgs e)
{
var links = webBrowser1.Document.GetElementsByTagName("div");
foreach (HtmlElement link in links)
{
if (link.GetAttribute("title").Equals("div_name"))
{
link.InvokeMember("click");
return;
}
}
}
有什么想法吗? 并预先感谢!
答案 0 :(得分:0)
您可以尝试这个。
在这种情况下,我已经修改了现有的解决方案。添加脚本来做到这一点:
private void button3_Click(object sender, EventArgs e)
{
var links = webBrowser1.Document.GetElementsByTagName("div");
foreach (HtmlElement link in links)
{
if (link.GetAttribute("title").Equals("div_name"))
{
HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
element.text = "function clickTitle() { document.getElementById('" + link.GetAttribute("id") + "').click(); }";
head.AppendChild(scriptEl);
webBrowser1.Document.InvokeScript("clickTitle");
}
}
}
它添加了一个JavaScript脚本来单击它,然后单击它。假定该元素具有ID。