public void BT_ZFB_REG_TB_REG_SJ_Click(object sender, EventArgs e) { //1.login SmsConfigHelper.GetConfigOfSms(); if (!SmsApi.logined) { LogManager.WriteLog("登录失败"); return; } //2. TB_ZFB_REG_TB_ShouJi.Text = SmsApi.GetPhone("2"); string js2run = "document.getElementById('J_PhoneInput').value = '{0}';".With(TB_ZFB_REG_TB_ShouJi.Text.Trim()) + "document.getElementsByClassName('btn-b')[0].click();"; CefFrameHelper.ExcuteJs(_mfForm.MainCefFrame, js2run); Application.DoEvents(); new Thread(() => { Thread.Sleep(2000); BT_ZFB_REG_TB_SMS_ENTERVCODE_Click(sender, e); }).Start(); // BT_ZFB_REG_TB_SMS_ENTERVCODE_Click(sender, e); }
private bool UseThisPhoneNum(string phone) { string Vcode = ""; bool getPhoneOK; getPhoneOK = SmsConfigHelper.GetSmsOfPhone(phone, ref Vcode, "2"); ////////////////// if (getPhoneOK) { string num = Vcode; TB_TB_VCODE.Text = num; string js2run = "document.getElementById('J_PhoneCheckCode').value='{0}';".With(num) + "document.getElementsByClassName('btn-s tsl')[0].click();"; CefFrameHelper.ExcuteJs(_mfForm.MainCefFrame, js2run);//提交验证码 } ////////////////// return(getPhoneOK); }
//过登录验证 private void toolStripMenuItem20_Click(object sender, EventArgs e) { this.Activate(); //发送密码 MouseKeyBordHelper.MoveAndLeftClick(this.Left, this.Top, ConfigHelper.GetIntValue("登录验证页面发送按钮左边距"), ConfigHelper.GetIntValue("登录验证页面发送按钮上边距")); LogManager.WriteLog("发送按钮"); Thread.Sleep(1000); string vcodeNum = ""; bool isVcodeOk = false; LogManager.WriteLog(GlobalVar.phoneNum); new Thread(() => { try { Thread.Sleep(2000); string phone = GlobalVar.phoneNum; SmsConfigHelper.GetPhone(ref phone, SmsServer.tb_reg_login_vcode); isVcodeOk = SmsConfigHelper.GetSmsOfPhone(GlobalVar.phoneNum, ref vcodeNum, SmsServer.tb_reg_login_vcode); if (!isVcodeOk) { LogManager.WriteLog("没有收到验证码 "); } LogManager.WriteLogIfDebug("释放"); GlobalVar.IsloadOkAutoResetEvent.Set(); } catch (Exception e1) { LogManager.WriteLog(e1.ToString()); } }) { IsBackground = true }.Start(); LogManager.WriteLogIfDebug("阻塞"); GlobalVar.IsloadOkAutoResetEvent.Reset(); LogManager.WriteLogIfDebug("等待2分钟"); GlobalVar.IsloadOkAutoResetEvent.WaitOne(TimeSpan.FromMinutes(2)); try { if (!isVcodeOk) { taskRunner.ReportAccountStatus("reg", "failed", GlobalVar.phoneNum + "|" + GlobalVar.CurrentIp); return; } //输入验证码 MouseKeyBordHelper.MoveAndLeftClick(this.Left, this.Top, ConfigHelper.GetIntValue("登录验证页面输入框左边距"), ConfigHelper.GetIntValue("登录验证页面输入框上边距")); LogManager.WriteLog("输入框"); //Thread.Sleep(3000); LogManager.WriteLog("输入"); MouseKeyBordHelper.KeyBoardDo(vcodeNum.ToCharArray()); Thread.Sleep(1000); //提交 LogManager.WriteLog("提交"); MouseKeyBordHelper.MoveAndLeftClick(this.Left, this.Top, ConfigHelper.GetIntValue("登录验证页面确定按钮左边距"), ConfigHelper.GetIntValue("登录验证页面确定按钮上边距")); } catch (Exception e1) { LogManager.WriteLog(e1.ToString()); } }
//手机验证 private void phoneVailed(BusinessStatus nowStatus) { //} //public void GetPhone2(object sender, EventArgs e) { //1.login string phoneNum = ""; Application.DoEvents(); // lock (changeTel1) { bool getPhoneOK = false; bool isVcodeOk = false; int TryPhoneNumTB = int.Parse(ConfigHelper.GetValue("TryPhoneNumTB")); if (ConfigHelper.GetValue("smsConfigtb") == "aima" || ConfigHelper.GetValue("smsConfigtb") == "jike") { GlobalVar.sms = IMySmsFactory.Build(ConfigHelper.GetValue("smsConfigtb")); GlobalVar.sms.GetConfigOfSms();//SmsConfigHelper.GetConfigOfSms(); } for (int i = 0; i < TryPhoneNumTB; i++) { if (ConfigHelper.GetValue("smsConfigtb") == "both") { GlobalVar.sms = IMySmsFactory.Build(i % 2 == 1 ? "jike" : "aima"); GlobalVar.sms.GetConfigOfSms();//SmsConfigHelper.GetConfigOfSms(); } Thread.Sleep(1000); //2.1 检测是否当前已经通过手机验证 if (MainForm.state != nowStatus) { LogManager.WriteLog("当前不是获取手机号码 的页面了."); break; } //2.2 获取手机 getPhoneOK = SmsConfigHelper.GetPhone(ref phoneNum); if (!getPhoneOK) { continue; } //getPhoneOK = true; //phoneNum = GlobalVar.phoneNum; //2.3 填充手机 string js2run = "document.getElementById('J_Mobile').value = '{0}';".With(phoneNum) + "document.getElementById('J_BtnMobileCode').click();"; LogManager.WriteLog(js2run); CefFrameHelper.ExcuteJs(MainCefFrame, js2run); LogManager.WriteLog("{0} is fill 填充手机 ".With(phoneNum)); Application.DoEvents(); //2.4 检测手机是否可用 LogManager.WriteLog("检测手机是否可用"); string valueOfStyle = ""; bool is_valueOfStyle_ok = false; for (int j = 0; j < 2; j++) { Thread.Sleep(3000); valueOfStyle = CefFrameHelper.GetMsgByJs3(MainCefFrame, "document.getElementById('J_MsgMobileCode').getAttribute('class')"); LogManager.WriteLog("valueOfStyle:" + valueOfStyle); is_valueOfStyle_ok = (valueOfStyle != null && valueOfStyle.Contains("ok")); if (is_valueOfStyle_ok) { break; } Application.DoEvents(); } if (!is_valueOfStyle_ok) { LogManager.WriteLog("手机号码 {1} 不可用 释放并拉黑.重新获取,{0}".With(TryPhoneNumTB - i, phoneNum)); //释放单个手机 GlobalVar.sms.ReleasePhone(phoneNum, SmsServer.tb_reg_vode); // SmsApi.ReleasePhone(phoneNum, "2"); continue; } //2.5 手机可用则接收短信 LogManager.WriteLog("手机号码 {0} 可用.".With(phoneNum)); string vcodeNum = ""; isVcodeOk = SmsConfigHelper.GetSmsOfPhoneTBREGV3_1(phoneNum, ref vcodeNum, SmsServer.tb_reg_vode); if (!isVcodeOk) { LogManager.WriteLog("没有收到验证码,返回重新接收"); continue; } if (ConfigHelper.GetBoolValue("tbModelTest")) //开启测试模式,记录手机号码并释放手机号码,跳转到支付宝注册 { GlobalVar.availabePhone = phoneNum; GlobalVar.sms.ReleasePhone(phoneNum, SmsServer.tb_reg_login_vcode); BT_Reg_zfb_Click(this, new EventArgs()); } //2.6 接收到短信则提交 // document.getElementById('J_PhoneCheckCode').value='295768'; //document.getElementsByClassName('btn-s')[0].click(); string jsOfSubmitVcode = "document.getElementById('J_MobileCode').value='{0}';".With(vcodeNum) + "document.getElementById('J_BtnMobileCodeForm').click();" + "document.getElementById('J_BtnMobileCodeForm').click();"; //J_BtnMobileCodeForm //J_BtnMobileForm CefFrameHelper.ExcuteJs(MainCefFrame, jsOfSubmitVcode);//提交验证码 if (GlobalVar.debug) { LogManager.WriteLog(vcodeNum); LogManager.WriteLog(jsOfSubmitVcode); } GlobalVar.phoneNum = phoneNum; break; } // }).Start(); // }; }
//淘宝V2 更换手机号码 //1.登录手机 //2.获取可用手机() // 2.1 获取手机 //3.获取可用短信 public void BT_TB_ChangeTel_Click(object sender, EventArgs e) { //1.登录手机 SmsConfigHelper.GetConfigOfSms(); if (!SmsApi.logined) { LBS_sms.Text = "登录失败"; return; } string phone = ""; Application.DoEvents(); lock (changeTel) { bool getPhoneOK = false; bool isVcodeOk = false; new Thread(() => { Thread.Sleep(2000); // bool isTelOK = false; for (int i = 0; i < 7; i++) { //2.1 检测是否当前已经通过手机验证 if (MainForm.state == BusinessStatus.regitster_confirm) { LogManager.WriteLog("当前不是获取手机号码{0}的页面了.".With(phone)); MainForm.state = BusinessStatus.new_email_reg_two; _mfForm.MainCefFrame.Browser.GoBack(); getPhoneOK = true; break; } //2.2 获取手机 phone = EnterPhone(); //2.3 检测手机是否可用 LogManager.WriteLog("check valueOfStyle"); string valueOfStyle = ""; bool is_valueOfStyle_ok = false; for (int j = 0; j < 3; j++) { valueOfStyle = CefFrameHelper.GetUrlListByHapId(MainCefFrame, "J_PhoneFormTip", "div", "style").FirstOrDefault(); LogManager.WriteLog("valueOfStyle:" + valueOfStyle); is_valueOfStyle_ok = valueOfStyle != null && valueOfStyle.Contains("hidden"); if (is_valueOfStyle_ok) { break; } else { Application.DoEvents(); Thread.Sleep(2000); } } if (valueOfStyle != null && valueOfStyle.Contains("hidden")) { //可用 LogManager.WriteLog("手机号码 {0} 可用.".With(phone)); isVcodeOk = UseThisPhoneNum(phone); if (isVcodeOk) { break; } else { //未获取到验证码的处理 TB_SMS_MSG.Text = "没有收到验证码,返回重新接收"; LogManager.WriteLog(TB_SMS_MSG.Text); // new Thread(() => { //页面上点击 返回修改手机号码 string js2run = "document.getElementById('J_RewritePhone').click()';"; CefFrameHelper.ExcuteJs(_mfForm.MainCefFrame, js2run); } } else { LogManager.WriteLog("手机号码 {1} 不可用.重新获取,{0}".With(5 - i, phone)); //释放单个手机 SmsApi.ReleasePhone(phone, "2"); } } if (!getPhoneOK || !isVcodeOk) { _mfForm.ShowStatus("获取手机失败,重新获取,或者自己去网站获取。"); } }).Start(); } // BT_ZFB_REG_TB_SMS_ENTERVCODE_Click(sender, e); }
public void GetPhone(object sender, EventArgs e) { //1.login //if (!SmsApi.logined) { // LogManager.WriteLog("登录失败"); // return; //} //2. string phoneNum = ""; Application.DoEvents(); // lock (changeTel1) { bool getPhoneOK = false; bool isVcodeOk = false; // new Thread(() => { // Thread.Sleep(2000); int TryPhoneNumTB = int.Parse(ConfigHelper.GetValue("TryPhoneNumTB")); if (ConfigHelper.GetValue("smsConfigtb") == "aima" || ConfigHelper.GetValue("smsConfigtb") == "jike") { GlobalVar.sms = IMySmsFactory.Build(ConfigHelper.GetValue("smsConfigtb")); } for (int i = 0; i < TryPhoneNumTB; i++) { if (ConfigHelper.GetValue("smsConfigtb") == "both") { GlobalVar.sms = IMySmsFactory.Build(i % 2 == 1 ? "jike" : "aima"); } GlobalVar.sms.GetConfigOfSms();//SmsConfigHelper.GetConfigOfSms(); Thread.Sleep(1000); //2.1 检测是否当前已经通过手机验证 if (MainForm.state != BusinessStatus.nav2deliver_address) { LogManager.WriteLog("当前不是获取手机号码 的页面了."); break; } //2.2 获取手机 getPhoneOK = GetPhone(ref phoneNum);//开通淘宝 if (!getPhoneOK) { continue; } //getPhoneOK = true; //phoneNum = GlobalVar.phoneNum; //2.3 填充手机 string js2run = "document.getElementById('J_PhoneInput').value = '{0}';".With(phoneNum) + "document.getElementsByClassName('btn-b')[0].click();"; CefFrameHelper.ExcuteJs(MainCefFrame, js2run); LogManager.WriteLog("{0} is fill 填充手机 ".With(phoneNum)); //2.4 检测手机是否可用 LogManager.WriteLog("检测手机是否可用"); string valueOfStyle = ""; bool is_valueOfStyle_ok = false; for (int j = 0; j < 2; j++) { Thread.Sleep(3000); valueOfStyle = CefFrameHelper.GetMsgByJs3(MainCefFrame, "document.getElementById('J_PhoneFormTip').getAttribute('style')"); // valueOfStyle = CefFrameHelper.GetUrlListByHapId(MainCefFrame, "J_PhoneFormTip", "div", "style").FirstOrDefault(); LogManager.WriteLog("valueOfStyle:" + valueOfStyle); is_valueOfStyle_ok = (valueOfStyle != null && valueOfStyle.Contains("hidden")); if (is_valueOfStyle_ok) { break; } Application.DoEvents(); } if (!is_valueOfStyle_ok) { LogManager.WriteLog("手机号码 {1} 不可用 释放并拉黑.重新获取,{0}".With(TryPhoneNumTB - i, phoneNum)); //释放单个手机 GlobalVar.sms.ReleasePhone(phoneNum, SmsServer.tb_reg_vode); // SmsApi.ReleasePhone(phoneNum, "2"); continue; } //2.5 手机可用则接收短信 LogManager.WriteLog("手机号码 {0} 可用.".With(phoneNum)); string vcodeNum = ""; isVcodeOk = SmsConfigHelper.GetSmsOfPhone(phoneNum, ref vcodeNum, SmsServer.tb_reg_vode); if (!isVcodeOk) { LogManager.WriteLog("没有收到验证码,返回重新接收"); //页面上点击 返回修改手机号码 string jsOfChangePhoneNum = "document.getElementById('J_RewritePhone').click()';"; CefFrameHelper.ExcuteJs(MainCefFrame, jsOfChangePhoneNum); continue; } //2.6 接收到短信则提交 // document.getElementById('J_PhoneCheckCode').value='295768'; //document.getElementsByClassName('btn-s')[0].click(); string jsOfSubmitVcode = "document.getElementById('J_PhoneCheckCode').value='{0}';".With(vcodeNum) + "document.getElementsByClassName('btn-s')[0].click();"; CefFrameHelper.ExcuteJs(MainCefFrame, jsOfSubmitVcode);//提交验证码 break; } // }).Start(); // }; }
//zfb 过验证 private void mobilephoeOfzfb2() { //1.login GlobalVar.sms = IMySmsFactory.Build(ConfigHelper.GetValue("smsConfigzfb")); GlobalVar.sms.GetConfigOfSms();//SmsConfigHelper.GetConfigOfSms(); //if (!SmsApi.logined) { // LogManager.WriteLog("登录失败"); // return; //} //2. string phoneNum = ""; Application.DoEvents(); // lock (changeTel1) { bool getPhoneOK = false; bool isVcodeOk = false; int TryPhoneNum = int.Parse(ConfigHelper.GetValue("TryPhoneNum")); int TryPhoneNumInterTime = int.Parse(ConfigHelper.GetValue("TryPhoneNumInterTime")); for (int i = 0; i < TryPhoneNum; i++) { Thread.Sleep(2000); //2.1 if (MainForm.state != BusinessStatus.emailCheck) { LogManager.WriteLog("当前不是获取手机号码 的页面了."); break; } //2.2 获取手机 //GetPhone(ref string phoneNum,string serverid) { //支付宝注册 getPhoneOK = GetPhone(ref phoneNum, SmsServer.zfb_reg_vcode); if (!getPhoneOK) { continue; } //2.3 填充手机 string js2run = "var mydoc=window.frames[2].document;"; js2run += "mydoc.getElementById('J-secure-mobile').value = '{0}';".With(phoneNum) + "mydoc.getElementById('J-getCheckcodeBtn').click();"; CefFrameHelper.ExcuteJs(MainCefFrame, js2run); LogManager.WriteLog("{0} is fill ".With(phoneNum)); #region MyRegion // 2.4 检测手机是否可用 LogManager.WriteLog("check valueOfStyle"); string valueOfStyle = ""; bool is_valueOfStyle_ok = false; for (int j = 0; j < 3; j++) { // valueOfStyle = CefFrameHelper.GetUrlListByHapId(MainCefFrame, "J-resend-check-code", "div", "class").FirstOrDefault(); valueOfStyle = CefFrameHelper.GetMsgByJs(MainCefFrame, "mydoc.getElementById('J-resend-check-code').getAttribute('class')"); //.GetUrlListByHapId(MainCefFrame, "J-resend-check-code", "div", "class").FirstOrDefault(); // LogManager.WriteLog("valueOfStyle:" + valueOfStyle); is_valueOfStyle_ok = (valueOfStyle != null && !valueOfStyle.Contains("fn-hide")); if (is_valueOfStyle_ok) { break; } Application.DoEvents(); Thread.Sleep(2000); } if (!is_valueOfStyle_ok) { LogManager.WriteLog("手机号码 {1} 不可用.重新获取,{0}".With(7 - i, phoneNum)); //释放单个手机 // SmsApi.ReleasePhone(phoneNum, "1365"); continue; } #endregion //2.5 手机可用则接收短信 LogManager.WriteLog("检查通过,手机号码 {0} 可用.".With(phoneNum)); string vcodeNum = ""; // isVcodeOk = SmsConfigHelper.GetSmsOfPhone(phoneNum, ref vcodeNum,SmsServer.zfb_reg_vcode); // isVcodeOk = SmsConfigHelper.GetSmsOfPhone(phoneNum, ref vcodeNum, SmsServer.zfb_reg_vcode); isVcodeOk = SmsConfigHelper.GetSmsOfPhone(phoneNum, ref vcodeNum, SmsServer.zfb_reg_vcode); if (!isVcodeOk) { LogManager.WriteLog("没有收到验证码,返回重新接收"); //页面上点击 返回修改手机号码 //string jsOfChangePhoneNum = "document.getElementById('J_RewritePhone').click()';"; //CefFrameHelper.ExcuteJs(MainCefFrame, jsOfChangePhoneNum); continue; } //2.6 接收到短信则提交 // document.getElementById('J_PhoneCheckCode').value='295768'; //document.getElementsByClassName('btn-s')[0].click(); string jsOfSubmitVcode = "var mydoc=window.frames[2].document;"; jsOfSubmitVcode += "mydoc.getElementById('J-checkcode').value='{0}';".With(vcodeNum) + "mydoc.getElementById('J-submit-btn').click();"; CefFrameHelper.ExcuteJs(MainCefFrame, jsOfSubmitVcode);//提交验证码 LogManager.WriteLog("tel {0} ".With(phoneNum)); GlobalVar.phoneNum = phoneNum; break; } // }).Start(); // }; }