2014-02-17 2 views
0

Я использую C# Webbrowser для навигации по сайту и нажатия некоторых ссылок. Поэтому, когда страница загружается, предполагается, что для привязки будет добавлено событие onclick. Кроме того, использование InvokeMethod («click») для меня никогда не срабатывало.COM Исключение с веб-браузером C# при нажатии события

private void StartGetDetails(HtmlElementCollection links) 
    { 
     if (csrLinks.Count > 0) 
     { 
      HtmlElement csr = csrLinks.First(); 
      System.Threading.Thread.Sleep(1000); 
      csr.RaiseEvent("onclick"); 
      csrLinks.RemoveAt(0); 
     } 
    } 

Я не получаю эту ошибку в csr.RaiseEvent ("OnClick"):

Error HRESULT E_FAIL has been returned from a call to a COM component. 

Любая помощь будет оценена, ничего я нашел вокруг, казалось, прибегая к помощи полезным.

+0

Что такое 'csrLinks', почему бы вам не использовать ссылки? Любой ** настоящий ** код для публикации? –

+0

К сожалению, мои извинения, csrLinks является глобальным списком . В принципе, у меня есть список якорей идентификаторов в html-таблице, я получаю ссылки в списке, перехожу в каждый объект, разбираюсь и уезжаю. Когда я вернусь к списку, я перейду к следующей ссылке. Код работает иначе и только здесь не работает. –

+0

Какая версия Windows это? – Dayan

ответ

0

Кажется, что я исправил проблему. Проблема заключалась в том, что элемент HtmlElement, который я пытался повысить onclick, не имел метода onclick, или был null. Однако WebBrowser вместо этого отправил это исключение, а не исключение NullReference.