Error de System.Reflection.TargetInvocationException (C #)

c# html-agility-pack

Pregunta

Estoy intentando obtener información de la web ( adress en mi código) con HtmlAgilityPack en C #, pero tengo que esperar hasta que se cargue <div class="center fs22 green lh32"> en la página.

Cuando ejecuto este código:

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

Siempre me sale este error:

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, Apartamento de un solo hilo).

Traducción: System.Reflection.TargetInvocationException: 'El objetivo de una apelación ha generado una excepción.'

ThreadStateException: no se puede crear una instancia del control ActiveX '8856f961-340a-11d0-a96b-00c04fd705a2', porque el hilo actual no es un hilo particionado (STA, apartamento de un solo hilo).

¿Cómo puedo deshacerme de este error?

Respuesta aceptada

Aplique STAThreadAttribute a su función principal:

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


Related

Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué