示例#1
0
        private static Dictionary <string, string> GetRowInExcelList(IRunWebPage runPage)
        {
            string      excelFilePath = runPage.ExcelFilePath;
            ExcelReader er            = new ExcelReader(excelFilePath, "List");

            return(er.GetFieldValues(0));
        }
示例#2
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");
        }
示例#3
0
        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");
        }
示例#4
0
        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 });
        }
示例#5
0
        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);
            }
        }
示例#6
0
        /// <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));
        }
示例#7
0
        /// <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);
            }
        }
示例#9
0
        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);
            }
        }
示例#10
0
        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;
 }