最近遇到的一個需求是如何讓程序自動登錄淘寶, 獲取用戶名稱等信息. 其實這個利用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. 完整的腳本代碼:
View Code
6. 運行效果: