private void UpdateOrPublishPost(ArticleDraft draft) { try { NotifyStatus("发布中... 标题:" + draft.Title); _state = WebBrowserState.Request; var scripts = GetInvokeJS(draft); //每执行一个脚本 等待 foreach (var scriptKv in scripts) { _browser.ExecuteScriptAsync(scriptKv.Value); switch (scriptKv.Key) { case JSType.ADD_META: { _browser.ReqHandler.IsResponceSuccess = IsAddMetaSuccess; _browser.ReqHandler.ResponceSuccess = AddMetaSuccess; //等待添加Meta完成 WaitResponceSuccess(); } break; case JSType.ADD_META_NO_SUBMIT: case JSType.PUBLISH: break; } } _browser.ReqHandler.IsResponceSuccess = IsPublishSuccess; _browser.ReqHandler.ResponceSuccess = PublishSuccess; //等待文章发布/更新 if (!WaitResponceSuccess()) { var logInfo = new StringBuilder(); foreach (var script in scripts) { logInfo.AppendLine(script.Value); } Logger.Info("\n发布超时:" + logInfo); NotifyStatus("发布超时!标题:" + draft.Title); ResetReqHandler(); } } catch (Exception ex) { Logger.Error(ex); } }