我试图在网页浏览器中点击某个元素。
这是我的代码:
try
{
htmlElement.MouseDown -= new
HtmlElementEventHandler(webBrowser1_MouseDown);
}
catch (Exception)
{
}
htmlElement.MouseDown += new HtmlElementEventHandler(webBrowser1_MouseDown);
此代码在webBrowser1.GotFocus& webBrowser1.LostFocus。
这是MouseDown的代码。
public void webBrowser1_MouseDown(object sender, HtmlElementEventArgs e)
{
HtmlElement element = e.ToElement;
Console.WriteLine(element);
}
每当我点击该项目时出于某种原因。 element等于null?
但如果我这样做
try
{
Console.WriteLine(htmlElement.Name); // works
htmlElement.MouseDown -= new
HtmlElementEventHandler(webBrowser1_MouseDown);
}
catch (Exception)
{
}
htmlElement.MouseDown += new HtmlElementEventHandler(webBrowser1_MouseDown);
答案 0 :(得分:1)
我在您分享的代码中注意到的两件事情,您可以非常轻松地修复它们。
htmlElement
- 您在Page上声明了这一点并注册了MouseDown
事件。您可以在页面的任何位置访问它。事件中不需要另一个HtmlElement
对象。
您在e
收到的内容是HtmlElementEventArgs
,而不是任何元素。我建议你使用sender
对象来获取元素。