我的代碼是:點擊HTML元素(按類)使用WebBrowser控件C#
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");
}
}
,我需要得到與「擴鏈無跡」類的所有HTML元素後,我需要點擊它。
我的問題是,我總是得到一個NullReferenceException因爲「對象引用未設置爲對象的一個istance」。
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);
}
什麼是沒有參考的元素?鏈接== null? –
是的,鏈接爲空。並且我確信頁面已經完全下載,因爲當我嘗試使用WebClient獲得它時,我可以完全得到它 – aquanat
mhh確實很奇怪。 「WebBrowser.Document」也是空的? –