2011-12-05 41 views
0

我有這個HTML代碼;檢索網站上的名稱?

<div id="progress_info" class="success" style="display: block;"> 
‌·‌·‌· 
<div id="error_text" style="display: none;"></div> 
‌·‌·‌· 
<div id="image" style="display: block;"> 
‌·‌·‌· 
<div style="float:left; max-width:330px"> 
‌·‌·‌· 
<div id="status_text" style="display: block;">Video‌·successfully‌·converted‌·to‌·mp3</div> 
‌·‌·‌· 
<div id="title" style="display: block;"> 
    <b>Title:</b> 
‌ Developers 
</div> 
‌·‌·‌· 
<div id="length" style="display: block;"> 
‌·‌·‌· 
<div id="link_box" style="display:none"> 
‌·‌·‌· 
<div id="v-ads"></div> 
‌·‌·‌· 
<div id="dl_link" style="display: block;"> 
‌·‌·‌· 
<div id="progress" style="display: none;"></div> 
‌·‌·‌· 
<div id="loader" style="display: none;"> 
‌·‌·‌· 
</div> 

,我只是想知道我怎麼會通過檢索在C#中webBrowser1控制被稱爲「開發者」的稱號(歌曲名)?

我試過搜索這個問題,沒有問題和/或答案。

謝謝。

+0

六個問題的HTML源代碼並沒有被接受的答案? http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –

回答

1

這是我如何實現同樣的事情。

HtmlElementCollection oHtmlElementCollection; 
     public List<string> lstDetailsUrl = new List<string>(); 
          oHtmlElementCollection = webBrowser1.Document.GetElementsByTagName("div"); 
          lstDetailsUrl.Clear(); 
          for (int i = 0; i < oHtmlElementCollection.Count; i++) 
          { 
           if (oHtmlElementCollection[i].GetAttribute("id") != null) 
           { 
            if (oHtmlElementCollection[i].GetAttribute("id").Contains("title")) 
            { 
             lstDetailsUrl.Add(oHtmlElementCollection[i].InnerText); 
            } 
           } 
          } 

希望這可以解決您的問題。

+0

因此,它正在通過列表並尋找div id = title,然後獲取其內部文本aka歌曲的名字? – Andrew

+0

是的,你會得到標題:·開發人員的價值,然後你可以操縱使用一些正則表達式。 –

+0

嗯,我測試了這一點,我得到的文字「DirectLink」?我唯一的理由是因爲我正在通過網站下載歌曲,現在我正在處理下載事件,並且我無法自動保存歌曲,因此我正試圖在下載並自動保存歌曲之前獲取歌曲名稱,除非我必須在保存文件時通過彈出來獲取名稱?無論哪種方式,謝謝你,因爲我會進一步研究。 – Andrew