Ejemplo n.º 1
0
 void OnConsoleMessage(object sender, ConsoleMessageEventArgs e)
 {
     if (e.Message.Contains("Uncaught") && (e.Message.Contains("modori") == false) &&
         (e.Message.Contains("setPostLink") == false))
     {
         MessageBox.Show("OnConsoleMessageError!");
         Product.UploadResult      = "Failed";
         Product.UploadFailedReson = e.Message;
         Product.UploadDateTime    = DateTime.Now;
         TextUtil.ArchiveProduct(Product);
         FileLog.Error("OnConsoleMessage", new Exception(e.Message + "\r\n" + e.Source), LogType.Error);
         ChromiumWebBrowser browser = sender as ChromiumWebBrowser;
         browser?.Dispose();
         this.Dispose();
     }
 }
Ejemplo n.º 2
0
        void OnFrameLoadEnd(object sender, EventArgs e)
        {
            ChromiumWebBrowser browserT = sender as ChromiumWebBrowser;

            if (browserT.CanExecuteJavascriptInMainFrame == false)
            {
                Thread.Sleep(1000 * 30);
            }
            Task.Factory.StartNew(() =>
            {
                try
                {
                    ChromiumWebBrowser browser       = sender as ChromiumWebBrowser;
                    string jscript                   = "";
                    CefSharp.FrameLoadEndEventArgs p = e as CefSharp.FrameLoadEndEventArgs;
                    if (p != null)
                    {
                        if ((p.Url == "https://shoppies.jp/write-item_sp"))
                        {
                            //browser.CanExecuteJavascriptInMainFrame

                            //这里根据是否登录了,执行两种情况
                            Task <CefSharp.JavascriptResponse> task = browser.EvaluateScriptAsync("$(\"#changeLogin\").length;");
                            Task.WaitAll(task);
                            if (task.Result.Result != null && Convert.ToInt32(task.Result.Result) > 0)
                            {
                                jscript = string.Format("$('#changeLogin').click();" +
                                                        "$(\"input[name=\'loginid\']\").val(\'{0}\');" +
                                                        "$(\"input[name=\'password\']\").val(\'{1}\');", Product.Username, Product.Password);
                                browser.GetMainFrame().ExecuteJavaScriptAsync(jscript);
                                jscript = "$(\"input[name=\'loginbtn\']\").click();";
                                browser.GetMainFrame().ExecuteJavaScriptAsync(jscript);
                            }
                            else
                            {
                                Execute(browser);
                            }
                        }
                        if (p.Url == "https://shoppies.jp/?jb=write-item_sp")
                        {
                            Execute(browser);
                        }
                        if (p.Url == "https://shoppies.jp/write-item_conf")
                        {
                            Thread.Sleep(INTERVAL * 5);
                            jscript = "$(\'.gbl-submitBtnMini\').click();";
                            browser.GetMainFrame().ExecuteJavaScriptAsync(jscript);
                        }
                        if (p.Url.EndsWith("b=write-item_end"))
                        {
                            string html = "";
                            browser.GetSourceAsync().ContinueWith(taskHtml =>
                            {
                                html = taskHtml.Result;
                                if (html.Contains("負荷調整") == false)
                                {
                                    Product.UploadResult = "Success!";
                                }
                                else
                                {
                                    Product.UploadResult      = "Failed!";
                                    Product.UploadFailedReson = "上传产品时间间隔太近";
                                }
                                Product.UploadDateTime = DateTime.Now;
                                TextUtil.ArchiveProduct(Product);
                                Thread.Sleep(INTERVAL * 1);
                                jscript = "$(\"#prof_header > a\").last().click();";
                                browser.GetMainFrame().ExecuteJavaScriptAsync(jscript);
                                Thread.Sleep(INTERVAL * 1);
                                browser?.Dispose();
                                this.Close();
                                this.Dispose();
                            });
                        }
                    }
                }
                catch (Exception exception)
                {
                    MessageBox.Show("Error! " + exception.Message);
                    FileLog.Error("OnFrameLoadEnd", exception, LogType.Error);
                }
            });
        }