我正在开发一个 Windows 窗体应用程序来解析和分析网页。我使用了网络浏览器控件。该网页有 html 和 javascript 代码波纹管。我的 windows 窗体有 c# 代码。这是代码:
HTML 代码:
<div id="div1" onclick='func1(this);'>
</div>
<div id="div2">
</div>
<div id="div3">
</div>
Javascript:
function func1(element) {
...
}
document.getElementById("div2").onclick = function foo() { doSomething(); }
document.getElementById("div3").addEventListener("click", anyFunc);
导航相关 URL 后,我的 Windows 窗体应用程序中的 C# 代码:
HtmlElement el1 = WebBrowser.Document.GetElementById("div1");
HtmlElement el2 = WebBrowser.Document.GetElementById("div2");
HtmlElement el3 = WebBrowser.Document.GetElementById("div3");
String el1JavaFunc = el1.GetAttribute("onClick");
String el2JavaFunc = el2.GetAttribute("onClick");
String el3JavaFunc = el3.GetAttribute("onClick");
// check if el1JavaFunc is empty or null
// check if el2JavaFunc is empty or null
// check if el3JavaFunc is empty or null
这样,在检查每个元素的相关字符串后,我可以确定该元素是否已分配 javascript 函数。这适用于 el1 和 el2,但它为 el3 返回空字符串。
我怎么知道第三个元素使用 addEventListener 分配了 javascript 函数?