最近遇到的一个需求是如何让程序自动登录淘宝, 获取用户名称等信息. 其实这个利用SS (SpiderStudio的简称) 实现起来非常简单. 十数行代码就可以做到非常完善:
1. 运行SS (下载地址), 编写脚本打开淘宝登陆页面:
Default.Navigate("https://login.taobao.com/member/login.jhtml");
Default.Ready();
2. 找到用户名, 密码的输入框, 输入信息, 点击登录按钮:
var user = Default.SelectSingleNode("#TPL_username_1"); user.Focus(); //模拟点击用户名文本框 user.Attr("value", "noxxxxxxx"); //输入用户名 Default.Wait(1); //等待一秒 Default.SelectSingleNode("#TPL_password_1").Attr("value", "*******"); //找到密码框并输入密码 Default.Wait(1); //等待一秒 var btnLogin = Default.SelectSingleNode("#J_SubmitStatic"); btnLogin.Click(); //点击登录按钮
请注意代码中有两处出现Default.Wait(1). 这是为了控制节奏. 淘宝对机器人防范严格, 如果我们 输入过快, 淘宝就会追加要求输入验证码. 如果我们控制一下节奏, 淘宝会认为这就是一个正常的登录 , 于是不要验证码也是能够实现登录的!
3. 等待登录完成, 页面跳转:
Default.Reset();
Default.Ready();
4. 获取用户姓名的节点, 并显示出来:
var name = Default.SelectSingleNode("div.name>a");
MessageBox.Show(name.Text());
5. 完整的脚本代码:
public void Run() { Default.Navigate("https://login.taobao.com/member/login.jhtml"); Default.Ready(); var user = Default.SelectSingleNode("#TPL_username_1"); user.Focus(); user.Attr("value", "nxxxxxxx"); Default.Wait(1); Default.SelectSingleNode("#TPL_password_1").Attr("value", "********"); Default.Wait(1); var btnLogin = Default.SelectSingleNode("#J_SubmitStatic"); btnLogin.Click(); Default.Reset(); Default.Ready(); var name = Default.SelectSingleNode("div.name>a"); MessageBox.Show(name.Text()); }
6. 运行效果:
查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/csharp/
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索登录
, 淘宝
, taobao
, 输入
, name
, default
, login替换c#
, 自动登录代码
selectSingleNode
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。