Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.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# 是否从电子邮件类型的文本字段中获取文本?_C#_Watin - Fatal编程技术网

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

C# 是否从电子邮件类型的文本字段中获取文本?,c#,watin,C#,Watin,所以我试着用C#来阅读一个网站。我有它,所以它打开一个网站,去阅读一个文本字段。然而,网站有这样的文本字段 <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#来阅读一个网站。我有它,所以它打开一个网站,去阅读一个文本字段。然而,网站有这样的文本字段

<input name="loginMail" class="c-txtfld c-txtfld-fixed c-txtfld-green c-txtfld-medium" id="login-email" type="email" placeholder="Email address" pattern="[^ @]*@[^ @]*">
但是,如果我将
类型
属性编辑为
文本
,它将起作用


我想将此保留为
电子邮件
。我怎么能这样读呢?

可以从现有的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")
[ElementTag(“输入”,InputType=“电子邮件”,索引=5)]
公共类EmailTextField:元素
{
公共EmailTextField(DomContainer,DomContainer,ElementFinder):base(DomContainer,finder)
{ }
public-EmailTextField(DomContainer-DomContainer,initiveElement元素):base(DomContainer,element)
{ }
}
EmailTextField emailaddressfield=this.Document.EmailTextField(Find.BySelector(“form#login-form.credential-form input#login-email”)

(伪代码-不符合要求)

那有什么问题吗?他不能用
type='email'
@Shaharyar获得textfield的
值,问题读起来正好相反,或者有一些否定信息丢失。当我理解这个问题时,他可以用type=text获得textfield的值,但不能用type=email获得。这就是他想要的e问题。@Shaharyar您是对的,我无法读取type='email'的值,但我可以在type='text'时读取它,但是我想看看如何在type='email'时读取它
[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")