我试图在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
答案 0 :(得分:1)
你正在努力做到这一点。如果您处理WebBrowser.Navigating
事件,则可以使用NavigatingCancelEventArgs
对象取消导航到您想要的任何网站和/或用您自己的HTML文档替换生成的HTML文档。您可以在MSDN上的WebBrowser.Navigating
Event和NavigatingCancelEventArgs
Class页面上找到更多信息。