0

GeckoBrowser は初めてです。問題は私のSetText方法にあります:

void SetText(string attribute, string attName, string value)
{
    // Get a collection of all the tags with name "input";
    HtmlElementCollection tagsCollection =
            geckoWebBrowser1.Document.GetElementsByTagName("input");

    foreach (HtmlElement currentTag in tagsCollection)
    {
        // If the attribute of the current tag has the name attName
        if (currentTag.GetAttribute(attribute).Equals(attName))
        {
            // Then set its attribute "value".
            currentTag.SetAttribute("value", value);
            currentTag.Focus();
        }
    }
}

しかし、次の行でエラーが発生します。

HtmlElementCollection tagsCollection =
        geckoWebBrowser1.Document.GetElementsByTagName("input");

エラーは次のとおりです。

タイプ「Skybound.Gecko.GeckoElementCollection」を暗黙的に変換できません
    「System.Windows.Forms.HtmlElementCollection」に

これを回避する方法はありますか?

4

1 に答える 1

3

GetElementsByTagNameメソッド onGeckoDocumentは を返さず、HtmlElementCollectiona を返しますGeckoElementCollection(これにはGeckoElements ではなくHtmlElements が含まれます)。

したがって、次のようなものが必要です(テストされていません):

void SetText(string attribute, string attName, string value)
{
    // Get a collection of all the tags with name "input";
    GeckoElementCollection tagsCollection = geckoWebBrowser1.Document.GetElementsByTagName("input");

    foreach (GeckoElement currentTag in tagsCollection)
    {
        // If the attribute of the current tag has the name attName
        if (currentTag.GetAttribute(attribute).Equals(attName))
        {
            // Then set its attribute "value".
            currentTag.SetAttribute("value", value);
            currentTag.Focus();
        }
    }
}
于 2013-07-03T19:31:48.897 に答える