C#HTMLAnchorElement / HTMLinkElement获取OnClick文本

时间:2013-10-16 08:09:47

标签: c# html wpf onclick webbrowser-control


我试图在WPF桌面应用程序中使用C#System.Windows.Controls.WebBrowser来浏览网站。在网站上有一个类似的链接:

<a href="#" class="query" title="LINK TITLE IS HERE" onclick="javascript:openNewWindow('URL IS HERE', 'ANOTHER TITLE');"> AND HERE ARE SOME MORE TEXT</a>

因为我在停止在IE上打开链接而不是我的WebBrowser控件时遇到一些问题,所以我决定绕过这个问题。 所以我想从 onclick 获取文本,将其放在 href 上,然后使用click方法关注该链接。

 foreach (var el in doc.getElementsByTagName("a")){
  if (el is IHTMLAnchorElement){
    HTMLAnchorElement ee = el as HTMLAnchorElement;
    if ((null != ee) && (null != ee.title) && (ee.title.Contains("LINK TITLE IS HERE"))){
     //HERE I WANT TO GET THE TEXT FROM ONCLICK// String sOnClickText = ee.onclick
     //I can not find a property or method to get the text from onclick!!!
     //HERE I WILL PARSE IT TO GET 'URL IS HERE'
     //HERE I WILL REPLACE THE HREF: ee.href = 'URL IS HERE'
     //HERE I WILL GO ON: ee.click();
    }
  }
 }

有人可以提出一种从HTMLAnchorElement或至少从HTMLLinkElement获取 onclick 文本的方法。
提前谢谢。
 的Kaloyan

1 个答案:

答案 0 :(得分:1)

你正在努力做到这一点。如果您处理WebBrowser.Navigating事件,则可以使用NavigatingCancelEventArgs对象取消导航到您想要的任何网站和/或用您自己的HTML文档替换生成的HTML文档。您可以在MSDN上的WebBrowser.Navigating EventNavigatingCancelEventArgs Class页面上找到更多信息。