C# 如何自动填充网页上的用户名和密码

时间:2021-10-06 20:44:48
各位大侠
小弟在用c#写一个winform的小东西
里面用到了webbrowser..
在我打开一个网页首页的时候,出现用户名和密码登陆框
现问:我如何自动填充用户名和密码...

15 个解决方案

#1


1.读该网站的cookie(如记录有用户名和密码)
2.把上次登录该网站的用户名密码记录下来,下一次登录后,根据网站,自动读取填充

#2


一般来讲是用COOKIE吧.
但是既然你写的是WINFORM那也可以把用户名和密码自行保存的本地文件系统.然后下次运行的时候读取该文件后操作HTML来填充.

#3


我也在研究这个。加我的QQ625906512
目前有的技术是webclient和httpRequest

#4


上面的几位朋友,小弟问题的关键在于如何把用户和密码写到显示出来的框中,至于用户名和密码我是有的.是怎么写,哪位能给个简单的代码?

#5


晕倒

#6


用户名和密码有的话,干嘛不赋值给文本框

#7


如果是GET的话,直接传参数算啦。
POST我不知道。

#8



            HtmlDocument redoc = youwebbrowser.Document;
            if (redoc == null) 
                return false; 
            HtmlElement glodedit = redoc.GetElementById("gold");
                 //gold为某元素(文本框)的name或id
            if (glodedit == null) 
            //找不到gold文本框
           return false;             
            glodedit.SetAttribute("value", "youvalue!!");
            //("PayAction.Paymem_orderDocPostA():找到文本框并设置数值:"0);

#9


虽然你很少分,但是我要赚啊。
记得给分我。
我已经测试过能用的。

通常登陆页面里的用户名、名密码文本框的元素是
<INPUT >对象。你可以打开页面的html源代码看看就知道文本框的name或id是什么了。
一般是user,username,pass,pswd....之类的。

#10


密码框能实现吗?

#11


都是字符串了,呵呵,朋友是实现还是做坏事呀~~~

#12


8楼的方法可以 呵呵 我也这么用的
在documentComplete事件处理器里写
HtmlElement name = webBrowser1.Document.GetElementById("ctl00$content$loginname");
                if (name != null)
                    name.SetAttribute("value", User);
                HtmlElement pass = webBrowser1.Document.GetElementById("ctl00$content$pwd");
                if (pass != null)
                    pass.SetAttribute("value", Password);
                HtmlElement login = webBrowser1.Document.GetElementById("ctl00_content_summit");
                if (login != null)
                    login.InvokeMember("click");

#13


用XML序列化。自己查资料。我以前做过,现在忘了怎么写了。

#14


这些方法对我有点用啊……

#15


C#是后台代码,网页是浏览器解释执行,所以除非用C#生成 填好表单的HTML输出到前台,否则只能用JS

#1


1.读该网站的cookie(如记录有用户名和密码)
2.把上次登录该网站的用户名密码记录下来,下一次登录后,根据网站,自动读取填充

#2


一般来讲是用COOKIE吧.
但是既然你写的是WINFORM那也可以把用户名和密码自行保存的本地文件系统.然后下次运行的时候读取该文件后操作HTML来填充.

#3


我也在研究这个。加我的QQ625906512
目前有的技术是webclient和httpRequest

#4


上面的几位朋友,小弟问题的关键在于如何把用户和密码写到显示出来的框中,至于用户名和密码我是有的.是怎么写,哪位能给个简单的代码?

#5


晕倒

#6


用户名和密码有的话,干嘛不赋值给文本框

#7


如果是GET的话,直接传参数算啦。
POST我不知道。

#8



            HtmlDocument redoc = youwebbrowser.Document;
            if (redoc == null) 
                return false; 
            HtmlElement glodedit = redoc.GetElementById("gold");
                 //gold为某元素(文本框)的name或id
            if (glodedit == null) 
            //找不到gold文本框
           return false;             
            glodedit.SetAttribute("value", "youvalue!!");
            //("PayAction.Paymem_orderDocPostA():找到文本框并设置数值:"0);

#9


虽然你很少分,但是我要赚啊。
记得给分我。
我已经测试过能用的。

通常登陆页面里的用户名、名密码文本框的元素是
<INPUT >对象。你可以打开页面的html源代码看看就知道文本框的name或id是什么了。
一般是user,username,pass,pswd....之类的。

#10


密码框能实现吗?

#11


都是字符串了,呵呵,朋友是实现还是做坏事呀~~~

#12


8楼的方法可以 呵呵 我也这么用的
在documentComplete事件处理器里写
HtmlElement name = webBrowser1.Document.GetElementById("ctl00$content$loginname");
                if (name != null)
                    name.SetAttribute("value", User);
                HtmlElement pass = webBrowser1.Document.GetElementById("ctl00$content$pwd");
                if (pass != null)
                    pass.SetAttribute("value", Password);
                HtmlElement login = webBrowser1.Document.GetElementById("ctl00_content_summit");
                if (login != null)
                    login.InvokeMember("click");

#13


用XML序列化。自己查资料。我以前做过,现在忘了怎么写了。

#14


这些方法对我有点用啊……

#15


C#是后台代码,网页是浏览器解释执行,所以除非用C#生成 填好表单的HTML输出到前台,否则只能用JS