我正在尝试使用C#中的HtmlAgilityPack从网络(我的代码中为adress
)获取信息,但我必须等到页面上加载<div class="center fs22 green lh32">
。
执行此代码时:
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);
我总是收到这个错误:
翻译: System.Reflection.TargetInvocationException:'上诉目标引发了异常。'
ThreadStateException:无法实例化ActiveX控件 '8856f961-340a-11d0-a96b-00c04fd705a2',因为当前线程是 不是分区线程(STA,Single-Threaded Apartment)。
如何摆脱这个错误?
答案 0 :(得分:3)
将STAThreadAttribute应用于您的Main函数:
[STAThread]
static void Main(string[] args)
{
//Your code here
}