【问题标题】:c# How to grab string from inside <b> that's inside a div classc#如何从div类中的<b>中获取字符串
【发布时间】:2016-05-04 18:42:48
【问题描述】:

所以我一直在使用这样的东西:

webBrowser1.Document.GetElementById("month").SetAttribute("value", exp1);

这允许我设置值,但现在我想获取一个值而不是替换它。

<div class="contents">
<div class="background">stuff</div>
<div class="content">
<h2>title</h2>
<p>
Blah blah number is <b>0100000</b>
<p>
</div>
</div>

如何获取内容类中标签内的数字?有点卡住了!

谢谢!

【问题讨论】:

  • webBrowser1.Document.GetElementById("month").val()
  • @idipous 我认为他想要 元素内的值,而不是月份容器内的整个值。

标签: c#


【解决方案1】:

这是你需要的代码:

string theText;
foreach (HtmlElement item in webBrowser1.Document.GetElementsByTagName("div"))
        {
            if (item.GetAttribute("className") == "content")
                theText = item.GetElementsByTagName("b")[0].InnerText;
        }

【讨论】:

  • webBrowser1.Document.GetElementsByTagName("div").Cast().Where(p => p.GetAttribute("className") == "content").First()。 GetElementsByTagName("b")[0].InnerText
  • @VaughanSlaterit 不,它适用于您在问题中提供的 html
  • 对不起,我在 html 中遗漏了一些东西(因为我很愚蠢)。我用完整的 html 更新了问题。这就是它对我不起作用的原因吗?对不起!
【解决方案2】:

您始终可以获得所选标签的InnerTextInnerHtml。 试试这个答案:https://stackoverflow.com/a/2958449/1786034

【讨论】:

  • 我希望从类内部的 中获取值,而不是 ID。我已经尝试了问题中的那些,但没有运气..
  • 您说您不知道如何获取标签的内容。这是您问题的正确答案。但事实证明,你也不知道如何获取&lt;b&gt; 标签。为此,您需要GetElementsByTagName("b")[0]
【解决方案3】:

stackoverflow question中所述

document.getElementById('id').getElementsByTagName('b').firstChild.nodeValue

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-16
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    • 2014-07-11
    • 2019-09-07
    • 1970-01-01
    相关资源
    最近更新 更多