C# + WebBrowser如何实现淘宝页面的自动登录

sugarforever 2011-03-07 11:53:06
我用DocumentCompleted来完成。

private static readonly string LOGIN_URL = "https://login.taobao.com/member/login.jhtml";

void TaobaoWebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (e.Url.ToString().Equals(LOGIN_URL))
{
HtmlElement name = TaobaoWebBrowser.Document.GetElementById("TPL_username_1");

if (name != null)
name.SetAttribute("value", "test");

mshtml.IHTMLDocument2 doc = (mshtml.IHTMLDocument2)TaobaoWebBrowser.Document.DomDocument;
mshtml.IHTMLElementCollection inputs = (mshtml.IHTMLElementCollection)doc.all.tags("INPUT");
foreach (mshtml.IHTMLElement ele in inputs)
{
if (ele.getAttribute("name", 0).Equals("TPL_password"))
ele.setAttribute("value", "test", 0);
}
//HtmlElement pwdSpan = TaobaoWebBrowser.Document.GetElementById("J_StandardPwd");

/*
foreach (HtmlElement child in pwdSpan.Children)
{
if (child.TagName.Equals("INPUT") && child.GetAttribute("name").Contains("TPL_password"))
{
((mshtml.IHTMLInputElement)child.DomElement).value = "test";
//child.SetAttribute("value", "test");
break;
}
}
*/
}
}

分别使用了C#托管和非托管两种方式做了实现。但是都无法在页面加载完后设置用户名和密码的输入框。高手指点,是什么问题?
...全文
618 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fighting_1982 2013-04-10
  • 打赏
  • 举报
回复
正愁登陆不了呢!感谢!!!
sugarforever 2011-03-07
  • 打赏
  • 举报
回复
搞定。安全控件登陆的问题。取消安全控件登陆就可以了
sugarforever 2011-03-07
  • 打赏
  • 举报
回复
HtmlElement name = TaobaoWebBrowser.Document.GetElementById("TPL_username_1");

if (name != null)
name.SetAttribute("value", "test");

经测试,用户名这里是可以自动填入的。但是密码部分就不行。
effun 2011-03-07
  • 打赏
  • 举报
回复
试验成功,可以向安全控件输入文字。


var elt = webBrowser1.Document.All["Password_Edit_IE"];

if (elt != null)
{
elt.Focus();
SendKeys.Send("aaaa");

}
effun 2011-03-07
  • 打赏
  • 举报
回复
如果用安全控件,可以试试先设置控件的焦点,再用SendKeys来模拟输入。

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧