私のコードは次のとおりです。
WebBrowser browser = new WebBrowser();
browser.Navigate("http://myurl");
var links = browser.Document.GetElementsByTagName("a");
foreach (HtmlElement link in links)
{
if (link.GetAttribute("class") == "expand-chain no-tracks")
{
MessageBox.Show("Click here");
link.InvokeMember("click");
}
}
そして、「expand-chain no-tracks」クラスですべてのhtml要素を取得する必要があり、それをクリックする必要があります。
私の問題は、「オブジェクト参照がオブジェクトのインスタンスに設定されていない」という理由で常に NullReferenceException を取得することです。
HTML コードは次のとおりです。
<a class="expand-chain no-tracks" data-chain-id="ZYZ" href="#" style="display: none;">
<span>
Some text
</span>
</a>
私を助けてください!ありがとう
編集 このコードでも試しましたが、browser_DocumentCompleted関数を実行しません
public void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser browser = sender as WebBrowser;
var links = browser.Document.GetElementsByTagName("a");
foreach (HtmlElement link in links)
{
if (link.GetAttribute("class") == "expand-chain no-tracks")
{
MessageBox.Show("Here");
link.InvokeMember("click");
}
}
}
public void cazz()
{
WebBrowser browser = new WebBrowser();
browser.Navigate("http://myurl");
browser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(browser_DocumentCompleted);
}