从电子邮件类型的文本字段中获取文本?

时间:2014-08-22 11:21:27

标签: c# watin

所以我试图用C#阅读一个网站。我有它所以它打开一个网站,然后去阅读TextField。但是网站上有这样的文本字段。

<input name="loginMail" class="c-txtfld c-txtfld-fixed c-txtfld-green c-txtfld-medium" id="login-email" type="email" placeholder="Email address" pattern="[^ @]*@[^ @]*">

因此我可以通过C#来阅读它。

TextField emailaddressfield = this.Document.TextField(Find.BySelector("form#login-form.credential-form input#login-email")

如果我将type属性编辑为text

,则会有效

我希望将其保留为email。我该怎么读呢?

1 个答案:

答案 0 :(得分:1)

可以从现有的WatiN控件(HTML)创建自定义控件。为了获得类型email的文本字段值,我们需要创建一个TextField类型的自定义控件。请尝试以下代码。

[ElementTag("input", InputType = "email", Index = 5)]    
public class EmailTextField : Element<EmailTextField>
{
    public EmailTextField(DomContainer domContainer, ElementFinder finder): base(domContainer, finder)
    { }
    public EmailTextField(DomContainer domContainer, INativeElement element): base(domContainer, element)
    { }
}

EmailTextField emailaddressfield = this.Document.EmailTextField(Find.BySelector("form#login-form.credential-form input#login-email")

(伪代码 - 未遵守)