如何通过 CSharp 以编程方式设置输入元素的值?
你好 我正在尝试让 IE 自动登录网站,但问题是输入元素没有 HTML ID 属性!例如:
如何编写 C# 程序以在此文本框中插入文本?
谢谢
Hello
I am trying to automate my IE to log into a website but the problem is that the input elements do not have an HTML ID attribute! For example:
<input type="text" name="user" size="15" value="">
How do you program C# to insert text in this text box?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
将以下属性添加到您的输入标记中:
runat="server"
和id="someId"
然后在服务器端执行以下操作:
然后您可以执行以下操作:
但我不确定如果没有
runat="server"
属性它是否可以工作Add the following attributes to your input tag:
runat="server"
andid="someId"
Then server-side you do:
Then you can do something like:
But I'm not sure it'll work without the
runat="server"
attribute我知道这有点晚了,但这是 jquery 方法的替代方法。
我认为 IE 你指的是网络浏览器控件。
获得文档后,您可以浏览输入元素。
类似于
<代码>
HtmlElementCollection input = browser.Document.GetElementsByTagName("input");
然后循环遍历每个输入。您可以使用以下命令检查输入的名称
<代码>
input.GetAttribute("姓名").Equals("用户")
将值插入字段将通过
完成
input.SetAttribute("value", "MyUserName");
I know this is a bit late, but here is an alternate to the jquery method.
I assume with IE you mean the webbrowser control.
Once you have the document, you can go through the input -elements.
Something like
HtmlElementCollection inputs = browser.Document.GetElementsByTagName("input");
Then you loop through each of the inputs. You can check the input's name with
input.GetAttribute("name").Equals("user")
Inserting value to the field would be done with
input.SetAttribute("value", "MyUserName");
我想这不是“用 C# 以编程方式进行”,但您可以jQuerify 页面,然后运行一些自定义 JavaScript,以操作控件的值。如果您使用
WebBrowser
,您可以调用以下方法来插入脚本。jQuerify 代码
自定义代码
I guess this isn't "doing it programatically with C#", but you could jQuerify the page, then run some custom javascript afterwards, to manipulate the value of the control. If you are using
WebBrowser
, you could call the below method to insert the scripts.jQuerify code
Custom code
也许这可以帮助:-
注意:另请参阅 http://msdn .microsoft.com/en-us/library/2te2y1x6.aspx
http://msdn.microsoft.com/en-us /library/system.web.ui.htmltextwriter.aspx
http://social.msdn.microsoft。 com/Search/en-US/?query=mshtml%20tutorial&ac=1
创建一个像 Windows 窗体应用程序项目一样的新项目,
添加 MSHTML 的引用,即 Microsoft HTML 对象库加上 SHDocVw,即 Microsoft Internet 控件,
创建一个函数,其主体类似于并将其绑定到诸如按钮的单击事件之类的任何内容:
Maybe this can help:-
NB : also look at http://msdn.microsoft.com/en-us/library/2te2y1x6.aspx
http://msdn.microsoft.com/en-us/library/system.web.ui.htmltextwriter.aspx
http://social.msdn.microsoft.com/Search/en-US/?query=mshtml%20tutorial&ac=1
Create a new project like a Windows form application project,
Add references of MSHTML ie Microsoft HTML Object Library plus SHDocVw ie Microsoft Internet Controls,
Create a function with body somewhat like and bound it to anything like a button's click event:
正如尼科所说:
但你必须尝试:
安装!
As Nico said with:
but you must try:
insted!