gpt4 book ai didi

c# - 当多个 Id 标签相同时在网站中自动填充文本框 c#

转载 作者:太空宇宙 更新时间:2023-11-03 16:24:38 26 4
gpt4 key购买 nike

我想通过我的 C# 程序在网站中填写文本框

我的问题是,我要填写的文本框的 Id 标签与另一个文本框的 Id 标签相同,而我要填写的不是第一个

我可以通过代码获得我需要的 HemlElment

var oForm = This.Document.Forms[2];

这是oForm的innerhtml,我需要填写用户名、密码、电子邮件和时区。

<INPUT style="WIDTH: 150px" id=username name=username_reg size=30>
<INPUT style="WIDTH: 150px" id=password name=password_reg value="" size=30 type=password>
<INPUT style="WIDTH: 150px" id=mail_reg name=mail_reg size=30>

SELECT name=time_zone

如果我尝试

oForm.SetAttribute("username_reg", RegisterData.UserData.Username);

出现异常,未找到成员。 (HRESULT 异常:0x80020003 (DISP_E_MEMBERNOTFOUND))

有人知道该怎么办吗?

最佳答案

尝试:

    var form = webBrowser1.Document.Forms[2];

FindFormInputElementByIdAndSetItsValue(form, "username", "{{UserName}}");
FindFormInputElementByIdAndSetItsValue(form, "password", "{{Password}}");
FindFormInputElementByIdAndSetItsValue(form, "mail_reg", "{{EMail}}");

...

    public void FindFormInputElementByIdAndSetItsValue(
HtmlElement form, string id, string value)
{
form.GetElementsByTagName("input")
.OfType<System.Windows.Forms.HtmlElement>()
.Where(x => x.Id == id)
.First()
.SetAttribute("value", value);
}

关于c# - 当多个 Id 标签相同时在网站中自动填充文本框 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12953785/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com