2013-10-16 20 views
0


我想在WPF桌面應用程序中使用C#System.Windows.Controls.WebBrowser來瀏覽網站。在該網站上有該類型的鏈接:C#HTMLAnchorElement/HTMLinkElement獲取OnClick文本

<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控件打開,我決定繞開的問題。 因此,我想從獲取文本,點擊,將其放在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(); 
    } 
    } 
} 

有人能提出一個辦法讓的onclick從HTMLAnchorElement文本或至少HTMLLinkElement。
在此先感謝。
Kaloyan

回答

1

你正試圖做到這一點很難。如果您處理WebBrowser.Navigating事件,則可以使用NavigatingCancelEventArgs對象取消您想要的任何網站的導航,並/或用您自己的替換生成的HTML文檔。您可以在MSDN上的WebBrowser.Navigating EventNavigatingCancelEventArgs Class頁面找到更多信息。