private static Dictionary <string, string> GetRowInExcelList(IRunWebPage runPage) { string excelFilePath = runPage.ExcelFilePath; ExcelReader er = new ExcelReader(excelFilePath, "List"); return(er.GetFieldValues(0)); }
public static void ShowLogoutPageAndDoLogout(IRunWebPage runPage, string logoutPageUrl, string logoutSucceedCheckUrl, int timeout) { IWebBrowser wb = runPage.ShowWebPage(logoutPageUrl, "logout", timeout, false, WebBrowserType.Chromium); DoLogoutMethod(runPage, wb, logoutSucceedCheckUrl, timeout); runPage.CloseWebPage("logout"); }
private static void ShowLoginPageAndDoLogin(IRunWebPage runPage, string loginPageUrl, string loginSucceedCheckUrl, int timeout, string loginName, string loginPassword) { IWebBrowser wb = runPage.ShowWebPage(loginPageUrl, "login", timeout, false, WebBrowserType.Chromium); DoLoginMethod(runPage, wb, loginName, loginPassword); runPage.CheckWebBrowserUrl(wb, loginSucceedCheckUrl, false, timeout); runPage.CloseWebPage("login"); }
public static void DoLoginMethod(IRunWebPage runPage, IWebBrowser wb, string loginName, string loginPassword) { string scriptMethodCode = "function myDoLogin(loginName, loginPassword){" + "document.getElementById('session_key-login').value = loginName;" + "document.getElementById('session_password-login').value = loginPassword;" + "document.getElementById('btn-primary').click();" + "}"; runPage.InvokeAddScriptMethod(wb, scriptMethodCode); runPage.InvokeDoScriptMethod(wb, "myDoLogin", new object[] { loginName, loginPassword }); }
public void AutoScroll(IRunWebPage runPage, IWebBrowser webBrowser, int toPos, int maxStepLength, int minStepSleep, int maxStepSleep) { int pos = 0; Random random = new Random(DateTime.Now.Millisecond); while (pos < toPos) { int randomValue = random.Next(maxStepLength); pos += randomValue; runPage.InvokeScrollDocumentMethod(webBrowser, new Point(pos, pos)); ProcessThread.SleepRandom(minStepSleep, maxStepSleep); } }
/// <summary> /// 随机从公共账号池里获取用户登录信息 /// </summary> /// <param name="runPage"></param> /// <param name="loginPageUrl"></param> /// <param name="loginSucceedCheckUrl"></param> /// <returns></returns> public static bool LoginByRandomUser(IRunWebPage runPage, string loginPageUrl, string loginSucceedCheckUrl) { Dictionary <string, string> userInfo = ProcessLinkedinUser.GetUserLoginInfo(); if (!userInfo.ContainsKey("loginName") || !userInfo.ContainsKey("loginPassword")) { throw new Exception("Linkedin账号池文件里没有指定Linkedin的用户loginName和密码loginPassword信息"); } string loginName = userInfo["loginName"]; string loginPassword = userInfo["loginPassword"]; return(Login(runPage, loginName, loginPassword, loginPageUrl, loginSucceedCheckUrl)); }
/// <summary> /// 从输入的任务文件里,获取用户登录信息 /// </summary> /// <param name="runPage"></param> /// <param name="loginPageUrl"></param> /// <param name="loginSucceedCheckUrl"></param> /// <returns></returns> public static bool Login(IRunWebPage runPage, string loginPageUrl, string loginSucceedCheckUrl) { Dictionary <string, string> seedRow = GetRowInExcelList(runPage); if (!seedRow.ContainsKey("loginName") || !seedRow.ContainsKey("loginPassword")) { throw new Exception("输入的任务文件里没有指定Linkedin的用户loginName和密码loginPassword信息"); } string loginName = seedRow["loginName"]; string loginPassword = seedRow["loginPassword"]; return(Login(runPage, loginName, loginPassword, loginPageUrl, loginSucceedCheckUrl)); }
public static void AutoScroll(IRunWebPage runPage, IWebBrowser webBrowser, int toPosX, int toPosY, int maxStepLength, int minStepSleep, int maxStepSleep) { int posX = 0; int posY = 0; Random random = new Random(DateTime.Now.Millisecond); while (posX < toPosX || posY < toPosY) { int randomValue = random.Next(maxStepLength); posX = toPosX <= posX ? toPosX : posX + randomValue; posY = toPosY <= posY ? toPosY : posY + randomValue; runPage.InvokeScrollDocumentMethod(webBrowser, new Point(posX, posY)); ProcessThread.SleepRandom(minStepSleep, maxStepSleep); } }
private static void DoLogoutMethod(IRunWebPage runPage, IWebBrowser wb, string logoutSucceedCheckUrl, int timeout) { string scriptMethodCode = "function myGetLogoutPageUrl(){" + "var logoutElements = $('.account-submenu-split-link');" + "return (logoutElements.length == 0) ? 'http://www.linkedin.com/logout' : $(logoutElements[0]).attr('href');" + "}"; runPage.InvokeAddScriptMethod(wb, scriptMethodCode); string logoutPageUrl = (string)runPage.InvokeDoScriptMethod(wb, "myGetLogoutPageUrl", null); if (logoutPageUrl != null && logoutPageUrl.Length != 0) { runPage.ShowWebPage(logoutPageUrl, "logout", timeout, false, WebBrowserType.Chromium); } }
public static bool Login(IRunWebPage runPage, string loginName, string loginPassword, string loginPageUrl, string loginSucceedCheckUrl) { try { if (loginName == null || loginName.Length == 0 || loginPassword == null || loginPassword.Length == 0) { throw new Exception("用户名loginName和密码loginPassword不可为空"); } ShowLoginPageAndDoLogin(runPage, loginPageUrl, loginSucceedCheckUrl, SysConfig.WebPageRequestTimeout, loginName, loginPassword); } catch (Exception ex) { throw new Exception("登录到Linkedin失败!", ex); } return(false); }
public void Init(IRunWebPage runPage) { this._RunPage = runPage; }
/// <summary> /// 初始化 /// </summary> /// <param name="runPage"></param> /// <param name="parameters"></param> public void Init(IRunWebPage runPage, string parameters) { this._RunPage = runPage; this._Parameters = parameters; }
public InputAnjukeIdCode(IRunWebPage runPage) { this._RunPage = runPage; }