0


我正在尝试在 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文本的方法。
提前致谢。
卡罗扬

4

1 回答 1

1

你正试图以艰难的方式做到这一点。如果您处理该WebBrowser.Navigating事件,您可以取消导航到您想要使用该NavigatingCancelEventArgs对象的任何网站和/或用您自己的 HTML 文档替换生成的 HTML 文档。您可以从 MSDN 上的WebBrowser.NavigatingEventNavigatingCancelEventArgsClass页面了解更多信息。

于 2013-10-16T08:52:33.970 回答