Hi I got this error , actually this is the algorithm error? WebBrowser method "GetAttribute" making to error 2th the return.


Code:

        HtmlElementCollection classButton;
        List<string> aaa = new List<string>();
private void webBrowser1git()
        {
                Regex ma1 = new Regex("google", RegexOptions.IgnoreCase);
                Regex ma2 = new Regex("blogger", RegexOptions.IgnoreCase);
                
                classButton = webBrowser1.Document.GetElementsByTagName("A");


                foreach (HtmlElement element in classButton)
                {
                    if (sayac == 10)
                    {
                        break;
                    }
                    
                        MatchCollection test1 = ma1.Matches(element.GetAttribute("href")); //<< ERROR LINE 
                                                                                           //  1th return is OK
                                                                                           //  2th return is FAIL
                       //ERROR LINE "Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))"




                        MatchCollection test2 = ma2.Matches(element.GetAttribute("href"));
                    
                    if (test1.Count == 0 && test2.Count == 0)
                        {
                            //aaa.Add(element.GetAttribute("href"));
                            sayac++;
                            element.InvokeMember("click");
                            try
                            {
                                
                                while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
                                {
                                    Application.DoEvents();
                                }
                                MessageBox.Show(webBrowser1.ReadyState.ToString());
                            }
                            catch (ObjectDisposedException exception)
                            {
                                MessageBox.Show("Caught: {0}", exception.Message);
                            }
                            Thread.Sleep(2000);
                            MessageBox.Show(webBrowser1.Url.ToString() + "            1");
                            
                            //webBrowser1.GoBack();


                            /*try
                            {
                                while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
                                {
                                    Application.DoEvents();
                                }
                                MessageBox.Show(webBrowser1.Url.ToString()+"            2");
                                Thread.Sleep(3000);


                            }
                            catch (ObjectDisposedException exception)
                            {
                                MessageBox.Show("Caught: {0}", exception.Message);
                            }*/
                            webBrowser1.GoBack();
                            try
                            {
                                while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
                                {
                                    Application.DoEvents();
                                }
                                MessageBox.Show(webBrowser1.Url.ToString() + "            2");
                            }
                            catch (ObjectDisposedException exception)
                            {
                                MessageBox.Show("Caught: {0}", exception.Message);
                            }
                            MessageBox.Show(webBrowser1.Url.ToString() + "            3");
                        }
                  
                }
        }
Please help, thanks.