Erreur System.Reflection.TargetInvocationException (C #)

c# html-agility-pack

Question

J'essaie d'obtenir une information du Web ( adress dans mon code) avec HtmlAgilityPack en C #, mais je dois attendre que le <div class="center fs22 green lh32"> soit chargé sur la page.

Quand j'exécute ce code:

    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);

J'ai toujours cette erreur:

System.Reflection.TargetInvocationException

ThreadStateException: Impossible d'instancier le contrôle ActiveX '8856f961-340a-11d0-a96b-00c04fd705a2', car le thread actuel n'est pas un thread cloisonné (STA, Appartement à un seul fil).

Traduction: System.Reflection.TargetInvocationException: 'Une exception a été déclenchée par la cible d'un appel.'

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

Comment puis-je me débarrasser de cette erreur?

Réponse acceptée

Appliquez STAThreadAttribute à votre fonction principale:

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


Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi