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

本文关键字:按钮 单击 区域 文本 何填充 填充 | 更新日期: 2023-09-27 18:26:44

我在填充文本区域时遇到问题,请使用c#代码单击按钮。。。如果你有,请给我举个例子。我不在乎你是在使用网络浏览器还是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的方法。。基本上得益于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或名称。。

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

在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不是唯一的,您可以返回一个类型的所有元素,然后按索引引用。例如: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 64位上测试