如何填写文本区域并使用c#单击按钮?

时间:2013-08-07 23:48:25

标签: c# button click watin

我在填写文本区域时遇到问题,并使用我的c#代码点击按钮...如果你有我不关心你是否使用webbrowser或者watin或其他什么,请给我一个例子......

<textarea class="textarea" placeholder="Say something" style="overflow: hidden;"></textarea>



<div class="comment-submit-container">
<button class="comment-submit" type="submit">Post Comment</button>
<img class="comment-submit-loading" width="16" height="16" src="www.notimportantlink.com" alt="">
</div>

这是我尝试过使用class..basically来自stackoverflow的帮助

webBrowser1.DocumentText = "text with classes";
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);

void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {

            foreach (HtmlElement txt in webBrowser1.Document.GetElementsByTagName("textarea"))
            {
                if (txt.GetAttribute("ClassName") == "textarea")
                {
                    txt.SetAttribute("value", "adsasdassd");
                   // MessageBox.Show("uneseno");
                }
            }
       foreach (HtmlElement btn in webBrowser1.Document.GetElementsByTagName("button"))
            {
                if (btn.GetAttribute("ClassName") == "comment-submit")
                {
                    btn.InvokeMember("Click");
                    MessageBox.Show("kliknuto");
                }
            }


        }

正如您在html代码中看到的那样,没有ID或名称..

1 个答案:

答案 0 :(得分:2)

在WatiN中,您可以使用Find.ByClass或索引来查找元素

这将闪烁按钮,而不是单击它,以进行概念验证

var ie = new IE();
ie.GoTo(@"[link goes here");
ie.TextField(Find.ByClass("textarea")).TypeText("words go here");
ie.Button(Find.ByClass("comment-submit")).Flash(2);

如果类 textarea 不唯一,则可以返回类型的所有元素,然后按索引引用。 EG:ie.TextFields[0].TypeText("words go here by index");

或合并查找ie.TextField(Find.ByClass("textarea") && Find.ByIndex(0)).TypeText("words go here compound find");

等条件

使用HTML

<html>
<title>This is the title.</title>
<body>
<textarea class="textarea" placeholder="Say something" style="overflow: hidden;"></textarea>
<div class="comment-submit-container">
<button class="comment-submit" type="submit">Post Comment</button>
<img class="comment-submit-loading" width="16" height="16" src="www.notimportantlink.com" alt="">
</div>
</body>
<html>

在Watin 2.1,IE9,Win7 64bit

上测试