C#WebBrowser HtmlElement.InnerText不起作用

时间:2015-04-17 15:43:10

标签: c# html

我尝试使用HtmlElement.InnerText填充WebBrowser控件中的表单域。该字段预先填充了一些灰色的占位符文本"搜索您的购买",但是当我用自己的文本填充该字段时,它也显示为灰色,当我点击提交时无效按钮。

如果我手动将字段输入字段而不是黑色,并且在我点击提交时工作正常。

我如何让它工作?这是表格html:

<form role="form" action="/mod/bcs/account/" method="get" class="margin-top-20">
        <div class="input-group">
            <input class="form-control" name="searchPurchases" type="text" placeholder="Search your purchases" value="" id="search-bcs">
            <div class="input-group-btn">
                <button type="submit" class="btn btn-success">
                    &nbsp;&nbsp;&nbsp;<i class="fa fa-search"></i>&nbsp;&nbsp;&nbsp;
                </button>
            </div>
        </div>
    </form>

我自己的代码:

HtmlElement searchBox = webBrowser.Document.GetElementById("search-bcs");
            searchBox.InnerText = "text";

1 个答案:

答案 0 :(得分:2)

正如我的评论所述,<input>元素包含的值保存在value属性中,而不是子文本节点中。

如果您想通过代码更改值,则需要使用HtmlElement.SetAttribute(),如下所示:

searchBox.SetAttribute("value", "text");