Errore System.Reflection.TargetInvocationException (C #)

c# html-agility-pack

Domanda

Sto cercando di ottenere informazioni dal web ( adress nel mio codice) con HtmlAgilityPack in C #, ma devo aspettare che il <div class="center fs22 green lh32"> sia caricato nella pagina.

Quando eseguo questo codice:

    var url = $"https://www.website.com/";
    var web = new HtmlWeb();
    var doc = web.LoadFromBrowser(url, html =>
    {
        return !html.Contains("<div class=\"center fs22 green lh32\"></div>");
    });
    string adress = doc.DocumentNode
          .SelectSingleNode("//td/span[@id='testedAddress")
          .Attributes["value"].Value;
    Console.WriteLine("Voici l'adresse :",adress);

Ottengo sempre questo errore:

System.Reflection.TargetInvocationException

ThreadStateException: Impossible d'instancier le contrÃ'le ActiveX '8856f961-340a-11d0-a96b-00c04fd705a2', auto le thread actuel n'est pas un thread cloisonné (STA, Single-Threaded Apartment).

Traduzione: System.Reflection.TargetInvocationException: "Un'eccezione è stata sollevata dall'obiettivo di un ricorso".

ThreadStateException: Impossibile istanziare il controllo ActiveX '8856f961-340a-11d0-a96b-00c04fd705a2', perché il thread corrente non è un thread partizionato (STA, Single-Threaded Apartment).

Come posso sbarazzarmi di questo errore?

Risposta accettata

Applica STAThreadAttribute alla tua funzione principale:

 [STAThread]
 static void Main(string[] args)
 {
     //Your code here
 }


Related

Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché