1
<input name="chkFile" value="2062223616_7147073260_1440589192619132.WMA" type="checkbox">

从此代码中,我只想要值数据

例子:

2062223616_7147073260_1440589192619132.WMA

下面我的代码不起作用,所以请帮助我。

我的代码

HtmlElementCollection bColl = webBrowser2.Document.GetElementsByTagName("input");
            foreach (HtmlElement bEl in bColl)
            {
                if (bEl.GetAttribute("name").Equals("chkFile"))
                    showaudiourl.Text = bEl.OuterHtml.Split('"')[3];
            }
4

2 回答 2

0

用来webBrowser2.GetAttribute("value")获取你想要的值。

HtmlElementCollection bColl = webBrowser2.Document.GetElementsByTagName("input");
foreach (HtmlElement bEl in bColl) {
    if (bEl.GetAttribute("name").Equals("chkFile")) {
        showaudiourl.Text = bEl.GetAttribute("value");    //Changes here
    }
}
于 2015-08-26T14:14:29.383 回答
0

您只需要添加一段代码,告诉应用程序等到 Web 浏览器文档被初始化:

webBrowser2.Navigate(@"C:\tmp.html");                        // Use your own URL here
while (webBrowser2.ReadyState != WebBrowserReadyState.Complete) // Without it, 
   Application.DoEvents();                                // the document will be null

HtmlElementCollection bColl = webBrowser2.Document.GetElementsByTagName("input");
foreach (HtmlElement bEl in bColl)
{
   if (bEl.GetAttribute("name").Equals("chkFile"))
      showaudiourl.Text = bEl.GetAttribute("value");
}

应该使用 访问该值bEl.GetAttribute("value")

或者,您可以使用webBrowser2_DocumentCompleted事件在此处处理 HTML 文档。

于 2015-08-26T14:31:02.033 回答