Example #1
0
        /// <summary>
        /// 从HTML中找到当前页面所有值为innertext的链接
        /// </summary>
        /// <param name="cefFrame"></param>
        /// <param name="innerText"></param>
        public static List <string> GetUrlListByHapId(CefFrame cefFrame, string ElementId, string tagname, string attribute)
        {
            List <string> ls1 = new List <string>();

            try {
                var domvisit = new Domvisi2T();
                if (cefFrame == null)
                {
                    return(new List <string>());
                }
                new Thread(() => {
                    Thread.Sleep(1000);
                    cefFrame.GetSource(domvisit);
                }).Start();

                LogManager.WriteLog("阻塞");
                GlobalVar.IsloadOkAutoResetEvent.Reset();
                LogManager.WriteLog("默认阻塞,现在等待");
                GlobalVar.IsloadOkAutoResetEvent.WaitOne();


                ls1 = HtmlHelper.GetHrefs(domvisit.CurrentPageHtml, ElementId, tagname, attribute);
            } catch (Exception e1) {
                LogManager.WriteLog(e1.ToString());
            }
            return(ls1);
        }
Example #2
0
        /// <summary>
        /// 返回异步的获取html 源码的Task
        /// </summary>
        /// <param name="frame"></param>
        /// <param name="result"></param>
        /// <returns></returns>
        public Task ReadHtmlSourceAsyc(CefFrame frame, out string result)
        {
            this._tcs = new TaskCompletionSource <string>();
            //事件回调
            this._handler = (s, e) =>
            {
                this._tcs.TrySetResult(e.HtmSourceCode);
            };
            this.VistHtmlSourceCompleted += _handler;

            frame.GetSource(this);
            result = this._tcs.Task.Result;
            return(this._tcs.Task);
        }
Example #3
0
        /// <summary>
        /// 从HTML中找到当前页面所有值为innertext的链接
        /// </summary>
        /// <param name="cefFrame"></param>
        /// <param name="innerText"></param>
        public static List <string> GetUrlListByHap(CefFrame cefFrame, string innerText)
        {
            //LogManager.WriteLog("{0} 释放".With(innerText));
            //GlobalVar.IsloadOkAutoResetEvent.Set();

            var domvisit = new Domvisi2T();

            cefFrame.GetSource(domvisit);
            LogManager.WriteLog("{0} 默认阻塞,现在等待".With(innerText));
            GlobalVar.IsloadOkAutoResetEvent.WaitOne(TimeSpan.FromSeconds(10));
            LogManager.WriteLog("{0} 阻塞".With(innerText));
            GlobalVar.IsloadOkAutoResetEvent.Reset();
            var a1 = HtmlHelper.GetHrefs(domvisit.CurrentPageHtml, innerText);

            return(a1);
        }
Example #4
0
        public static List <string> GetInnerHtmlByHap(CefFrame cefFrame, string tagname, string attribute, string attributeValue)
        {
            var domvisit = new Domvisi2T();

            if (cefFrame == null)
            {
                return(new List <string>());
            }
            cefFrame.GetSource(domvisit);
            LogManager.WriteLog("默认阻塞,现在等待");
            GlobalVar.IsloadOkAutoResetEvent.WaitOne();
            LogManager.WriteLog("阻塞");
            GlobalVar.IsloadOkAutoResetEvent.Reset();
            var a1 = HtmlHelper.GetValue(domvisit.CurrentPageHtml, attributeValue, tagname, attribute);

            return(a1);
        }