Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 填写VBulliten专用消息的文本_C#_Browser_Submit - Fatal编程技术网

C# 填写VBulliten专用消息的文本

C# 填写VBulliten专用消息的文本,c#,browser,submit,C#,Browser,Submit,我试图通过C#在网络论坛上提交一条私人消息。 除了消息框本身,我可以填写每个组件: nk 设置textarea的innertext元素的常用方法根本不起作用,它适用于页面的其余部分,但不适用于此??我不知道为什么,我可以确认代码正确识别了这个区域。 我只能想象其他东西真正控制了显示和提交值。 我发现: 当我将该值设置为除0以外的任何值时,消息将发布,但每次都会丢失文本 有什么想法吗?我不知道您最喜欢的访问网页的方法是什么,但您可以创建一个虚拟WebBrowser表单,然后使用类似的函数:

我试图通过C#在网络论坛上提交一条私人消息。 除了消息框本身,我可以填写每个组件:

nk

设置textarea的innertext元素的常用方法根本不起作用,它适用于页面的其余部分,但不适用于此??我不知道为什么,我可以确认代码正确识别了这个区域。 我只能想象其他东西真正控制了显示和提交值。 我发现:

当我将该值设置为除0以外的任何值时,消息将发布,但每次都会丢失文本


有什么想法吗?

我不知道您最喜欢的访问网页的方法是什么,但您可以创建一个虚拟WebBrowser表单,然后使用类似的函数:

    void SetText(string attribute, string attName, string value)
    {
        HtmlElementCollection tagsCollection = webBrowser1.Document.GetElementsByTagName("input");

        foreach (HtmlElement currentTag in tagsCollection)
        {

            if (currentTag.GetAttribute(attribute).Equals(attName))
                currentTag.SetAttribute("value", value);
        }
    }

    void CheckBox(string attribute, string attName, string value)
    {

        // Get a collection of all the tags with name "input";

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

        foreach (HtmlElement currentTag in tagsCollection)
        {
            if (currentTag.GetAttribute(attribute).Equals(attName))
                currentTag.SetAttribute("checked", value);
        }
    }


    void ClickButton(string attribute, string attName)
    {
        webBrowser1.Document.GetElementsByTagName("input");
        HtmlElementCollection col = webBrowser1.Document.GetElementsByTagName("button");

        foreach (HtmlElement element in col)
        {
            if (element.GetAttribute(attribute).Equals(attName))
            {
                element.InvokeMember("click");
            }
        }
    }

*我终于明白了。使用另一种方式,因为下面的内容被vbulliten阻止。我仍然使用webbrowser导航到该站点的登录,但随后我获得它生成的cookie,并通过简单的web请求传递详细信息,该请求复制表单的帖子。使用SmartSniff找到所需信息。非常有用。干杯