コード例 #1
0
 internal void OnLoadEnd(CefFrame frame, int httpStatusCode)
 {
     if (this.LoadEnd != null)
     {
         var    e   = new LoadEndEventArgs(this.MainFrame);
         Action act = () => this.LoadEnd(this, e);
         this.Dispatcher.BeginInvoke(act);
     }
 }
コード例 #2
0
ファイル: CefWebMedia.cs プロジェクト: visitcube/xibocms
        void _webView_LoadEnd(object sender, LoadEndEventArgs e)
        {
            if (_disposed)
            {
                return;
            }

            // Start the timer
            base.StartTimer();
        }
コード例 #3
0
 internal void Next(Operation operation, LoadEndEventArgs e)
 {
     loadEndEventArgs = e;
     badRunTime       = 0;
     op = operation;
     //timersTimer.Close();
     //timersTimer.Enabled = true;
     timersTimer.Stop();
     timersTimer.Interval = operation.Deadline;
     timersTimer.Start();
 }
コード例 #4
0
        public void SearchOneItem(object sender, LoadEndEventArgs eventHandler)
        {
            string searchKeys = FileHelper.read("config/searchkeysV2.txt")[shoppingIndex - 1]; //RandomManager.RandomReadOneLine("config/searchkeys.txt");
            var    keysArry   = searchKeys.Split('|');
            var    key        = keysArry[RandomManager.random.Next(0, keysArry.Count())];

            LogManager.WriteLog(key);
            string js2run = beforejs +
                            "mydoc.getElementById('inp-search-index').value='{0}';".With(key) +
                            "mydoc.getElementsByClassName('bton-search')[0].click();";

            CefFrameHelper.ExcuteJs(MainCefFrame, js2run);
        }
コード例 #5
0
        internal void OnLoadEnd(CefFrame frame, int httpStatusCode)
        {
            if (frame.IsMain)
            {
                loading = false;
                loaded.Set();
            }

            if (this.LoadEnd != null)
            {
                var e = new LoadEndEventArgs(frame, httpStatusCode);
                this.LoadEnd(this, e);
            }
        }
コード例 #6
0
        private void finishOneShop(object sender, LoadEndEventArgs eventHandler)
        {
            //1.计算是否完成X次购买
            if (shoppingIndex >= int.Parse(ConfigHelper.GetValue("shoppingCount")))
            {
                taskRunner.ReportAccount("sucess");
                ClearAndPrepareNext();
            }
            else
            {
                state = BusinessStatus.gerenzhongxin;
                MainCefFrame.LoadUrl("http://h5.m.taobao.com/awp/mtb/mtb.htm");
            }
            shoppingIndex++;

            //2.完成则切换下一个,未完成则
        }
コード例 #7
0
        /// <summary>
        /// Fires the paragon.app.runtime.onLaunched event to JavaScript.
        /// </summary>
        private void OnEventPageBrowserLoad(object sender, LoadEndEventArgs e)
        {
            if (_eventPageBrowser != null)
            {
                _eventPageBrowser.LoadEnd -= OnEventPageBrowserLoad;
            }

            if (e != null && e.Frame.IsMain)
            {
                if (Metadata.UpdateLaunchStatus != null)
                {
                    Metadata.UpdateLaunchStatus("Waiting for window creations ...");
                }

                _eventPageLaunchTimer = new Timer(OnLaunchTimerExpired, null, _eventPageLaunchTimeout, TimeSpan.FromMilliseconds(-1));
                Launched.Raise(this, EventArgs.Empty);
            }
        }
コード例 #8
0
ファイル: MainForm_163.cs プロジェクト: cnucky/huan
        private void OnPageLoaded_163_Reg(object s, LoadEndEventArgs e)
        {
            string currentUrl = e.Frame.Url;

            switch (state)
            {
            case BusinessStatus.wy_163_begin:
                if (!currentUrl.Contains(GlobalVar.Wy163Reg_enter_1))
                {
                    break;
                }
                BT_WY_FillAccount.PerformClick();
                break;

            case BusinessStatus.wy_163_vcode:
                if (currentUrl.Contains(GlobalVar.Wy163Reg_Vcode_2))
                {
                    // BT_WY_FillAccount.PerformClick();
                    break;
                }

                if (currentUrl.Contains(GlobalVar.Wy163Reg_Mian_3))
                {
                    break;
                }
                break;

            case BusinessStatus.wy_163_main:
                if (!currentUrl.Contains(GlobalVar.Wy163Reg_Mian_3))
                {
                    break;
                }
                //ok
                //   ClearAndPrepareNext();
                break;

            default: break;
            }
        }
コード例 #9
0
        private void OperationTest(object s, LoadEndEventArgs e, string currentUrl)
        {
            lock (lockobject) {
                LogManager.WriteLog("state={0},currentUrl={1}".With(state, currentUrl));
                foreach (var operation in opsList)
                {
                    if (operation.PerviousStatus == state && currentUrl.Contains(operation.CurrentUrl))
                    {
                        LogManager.WriteLog("{2} {0} 跳转到下一个状态 {1} {3} ".With(state, operation.NextStatus, operation.index, operation.note));

                        state = operation.NextStatus;
                        ovtimeTick.Next(operation, e);//计时器重新计时
                        //记录当前注册账号的状态
                        //LogManager.LogAccontStatus("|{0}".With(state.ToString()));
                        taskRunner.LogAccontStatus("|{0}".With(state.ToString()));// MouseKeyBordHelper.CurrentIP

                        if (operation.OperationHandler != null)
                        {
                            int timeCount = RandomManager.random.Next(2, 5) * 1000;
                            LogManager.WriteLog("随机休息{0}毫秒".With(timeCount));

                            //BeginInvoke(new Action(() => {
                            new Thread(() => {
                                Thread.Sleep(timeCount);
                                try {
                                    operation.OperationHandler.Invoke(operation, e);
                                } catch (Exception e2) {
                                    LogManager.WriteLog(e2.StackTrace + e2.ToString());
                                }
                            }).Start();
                            //}));
                        }
                        break;
                    }
                }
            }
        }
コード例 #10
0
 public virtual void OnLoadEnd(LoadEndEventArgs eventArgs)
 {
     this.LoadEnd?.Invoke(this, eventArgs);
 }
コード例 #11
0
 void cefWebBrowser_LoadEnd(object sender, LoadEndEventArgs e)
 {
     timer1.Enabled = true;
 }
コード例 #12
0
        /// <summary>
        /// 浏览器加载完毕后的一个回调函数
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnWebBrowserLoadEnd(object sender, LoadEndEventArgs e)
        {

            //注意 :不要在加载完毕事件里阻塞时间过长  当前的窗口是单个的,超时太久 会拒绝加载后续请求,表示请求超时

            //---非电商链接  不做接受处理------------
            //if (!_is_running_invoke_linkes)
            //{
            //    return;
            //}

            var code = e.HttpStatusCode;
       
            if (code == (int)HttpStatusCode.OK)//对状态为 200 成功的 将cookie  注册到全局容器
            {
              


                string url = e.Frame.Url;
                var current_brower_frame = e.Frame;
                var html_vistor = new HtmlSourceVistor();
                var src_code = string.Empty;
                src_code = html_vistor.ReadHtmlSourceSync(current_brower_frame);

                System.Diagnostics.Debug.Write(src_code);

                //if (!string.IsNullOrEmpty(url))
                //{
                //    Task.Factory.StartNew(() =>
                //    {

                //        try
                //        {
                //            //将cookies 放置到指定的网址 key的 CookieContainer中
                //            var ckVisitor = new LazyCookieVistor();
                //            var cks = ckVisitor.LoadCookies(url);
                //            GlobalContext.SupportPlatformsCookiesContainer[url] = cks;
                //        }
                //        catch
                //        {
                //            Logger.Info(new LogEventArgs { LogMessage = string.Format("未能从指定的URL 成功获取Cookies.URL: {0} ", url), LogType = LoggingType.Error });

                //        }
                //    });

                //}
            }

            ////超过阈值 那么表示轮链完毕一次周期
            //if (_cursor_Links >= GlobalContext.SupportPlatforms.Count - 1)
            //{
            //    //清屏
            //    Console.Clear();
            //    //重置状态位
            //    _is_running_invoke_linkes = false;
            //    //随机生成浏览器进行轮链的间隔(分钟)
            //    int browserLoopLinksTimeSpan = _randor.Next(1, 10);
            //    _nextInvokeAllSuuportPlatforms = DateTime.Now.AddMinutes(browserLoopLinksTimeSpan);

            //    return;
            //}



            ////向后偏移
            //_cursor_Links += 1;
            ////如果未到最后一个偏移量  那么继续触发下一个
            //string nextSiteUrl = GlobalContext.SupportPlatforms[_cursor_Links].SiteUrl;
            //this.NavigateToUrl(nextSiteUrl);

        }
コード例 #13
0
 void cefWebBrowser_LoadEnd(object sender, LoadEndEventArgs e)
 {
 }
コード例 #14
0
        void cefWebBrowser_LoadEnd(object sender, LoadEndEventArgs e)
        {
            timer1.Enabled = true;

            //RequestData();
        }
コード例 #15
0
        private void ChooseOneItem(object sender, LoadEndEventArgs eventHandler)
        {
            //ReflushIfInFrames();

            bool   isok     = false;
            string maxprice = ConfigHelper.GetValue("maxPrice");
            string minNum   = ConfigHelper.GetValue("待购宝贝最少销量");
            var    arrayStr = ArrayStr();


            LogManager.WriteLog(arrayStr);

            for (int i = 0; i < 3; i++)
            {
                StringBuilder sb = new StringBuilder();
                sb.Append(beforejs);
                //  js2run += "  var a1=mydoc.getElementsByClassName('page-container J_PageContainer_1')[0]; var lis=a1.getElementsByTagName('li');var index=Math.round(Math.random()*lis.length); window.location=lis[index].getElementsByTagName('a')[0].href;";
                sb.Append("var  shopping =new Array ( {0} );".With(arrayStr));
                sb.Append(
                    "if(window.frames.length!=0){mydoc=window.frames[0].document;}else{mydoc=document;}var a1=mydoc.getElementsByClassName('page-container J_PageContainer_1')[0];var lis=a1.getElementsByTagName('li'); ");
                sb.Append("while(1){var index=Math.floor(Math.random()*lis.length); var li0=lis[index];var li0_h=li0.getElementsByClassName('h')[0]; var li0_h_int=li0_h.innerText.substring(1,li0_h.innerHTML.length);var li0_num=li0.getElementsByClassName('d-num')[0]; var li0_num_int=li0_num.innerText.substring(0,li0_num.innerHTML.length-3); ");
                sb.Append("if(li0_h_int< " + maxprice + " &&  li0_num_int>" + minNum + " ){ ");
                sb.Append("var desturl=li0.getElementsByTagName('a')[0].href;desturl=desturl.substring(0,desturl.indexOf('&'));var exist=false;for(var t1=0;t1<t1.length;t1++){if(shopping[t1]==desturl){exist=true;break;}}if(!exist){window.location=desturl; break;} }}");


                var js2run = sb.ToString();
                CefFrameHelper.ExcuteJs(MainCefFrame, js2run);


                if (ConfigHelper.GetBoolValue("debug"))
                {
                    LogManager.WriteLog(js2run);
                }

                waitchooseResetEvent.Reset();
                new Thread(() => {
                    Thread.Sleep(2000);
                    var url = MainCefFrame.Url;
                    if (!url.Contains("http://h5.m.taobao.com/awp/mtb/mtb.htm"))
                    {
                        isok = true;
                        return;
                    }
                    else
                    {
                        shoppingUrls.Add(url.Substring(0, url.IndexOf('&')));
                    }
                    //  LogManager.WriteLog(js2run);

                    LogManager.WriteLog("未能进入下一页 {0}".With(i));

                    waitchooseResetEvent.Set();
                }).Start();

                waitchooseResetEvent.WaitOne();
                if (isok)
                {
                    LogManager.WriteLog("已经跳转到下一页  ");
                    break;
                }

                LogManager.WriteLog("等待5秒钟");
                Thread.Sleep(1000 * 5);
            }
        }