Я хочу использовать его для вызова некоторых сценариев JS на веб-странице. У меня есть это:
static void Stuff()
{
WebBrowser browser = new WebBrowser();
browser.Navigate("http://www.iana.org/domains/example/");
HtmlDocument doc = browser.Document;
//doc.InvokeScript("someScript");
Console.WriteLine(doc.ToString());
}
static void Main(string[] args)
{
Console.WriteLine("hi");
var t = new Thread(Stuff);
t.SetApartmentState(ApartmentState.STA);
t.Start();
}
Вопрос 1: я получаю исключение «ссылка на объект не установлена» при попытке получить doc.ToString()
. Почему?
Вопрос 2: Как мне передать данные из HTML-документа в основную программу? WebBrowser
требует отдельного потока, который требует статического метода, который не может возвращать никакого значения. Как мне вернуть, скажем, doc
в Main()
, чтобы я мог что-то с ним сделать?