WebページでいくつかのJSスクリプトを呼び出すために使用したいと思っています。私はこれを持っている:コンソールアプリケーションでWebブラウザーを使用する
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()
に戻すには、どうすればいいですか?
スタティックメソッドは実際に値を返すことができます。それはできないスレッドです。また、スレッド*は非静的メソッドを使用できます。 – icktoofay
なぜこれがダウン表示されていますか? – Amy