private void WebBrowser_DocumentCompleted(object sender, GeckoDocumentCompletedEventArgs e) { if (Completed) { return; } Completed = true; SetTitle(); //开始爬数据 System.Threading.ThreadPool.QueueUserWorkItem(state => { try { System.Threading.Thread.Sleep(new Random().Next(5, 10) * 1000); System.Windows.Application.Current.Dispatcher.Invoke(new Action(() => { Messenger.Default.Send(new NotificationMessage { Key = CommodityDetialViewModel.FindCommodityNode }); Completed = false; })); } catch (Exception ex) { ex.ToString(); } }); }
/// <summary>Raises the <see cref="DocumentCompleted"/> event.</summary> /// <param name="e">The data for the event.</param> protected virtual void OnDocumentCompleted(GeckoDocumentCompletedEventArgs e) { if (DocumentCompleted != null) { DocumentCompleted(this, e); } }
private void WebBrowserOnDocumentCompleted(object sender, GeckoDocumentCompletedEventArgs geckoDocumentCompletedEventArgs) { if (OnDomReady != null) { OnDomReady(sender, geckoDocumentCompletedEventArgs); } }
private void Browser_DocumentCompleted(object sender, GeckoDocumentCompletedEventArgs e) { if (gfxBrowser.Url == null) { return; } switch (cmboSource.SelectedItem.ToString().ToLower()) { case "mangadex": if (gfxBrowser.Url.ToString().StartsWith("https://mangadex.org/title/")) { btnAdd.Enabled = true; } else { btnAdd.Enabled = false; } break; case "nhentai": if (gfxBrowser.Url.ToString().StartsWith("https://nhentai.net/g/")) { btnAdd.Enabled = true; } else { btnAdd.Enabled = false; } break; default: break; } }
private void RaiseDocumentCompleted(object sender, GeckoDocumentCompletedEventArgs args) { if (Navigated != null) { Navigated(this, new EventArgs()); } }
private void DocumentCompleted(object sender, GeckoDocumentCompletedEventArgs e) { GeckoDocument test = geckoWebBrowser.Document; HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); doc.LoadHtml(test.Body.InnerHtml); bool update = false; foreach (var node in doc.DocumentNode.Descendants("div").Where(x => x.Attributes["class"] != null && x.Attributes["class"].Value.ToLower().Contains("release-links"))) { foreach (Anime anime in animes) { if (node.Attributes["class"].Value.ToString().ToLower().Contains(anime.classname().ToLower())) { var links = node.Descendants("a").Where(x => x.Attributes["href"] != null && x.Attributes["href"].Value.ToString().Contains("uploaded")); if (links.Count() > 0) { Clipboard.SetText(links.First().Attributes["href"].Value.ToString()); anime.episode++; update = true; // i don't care about UI I just want it to wait for an arbitrary amount of time so JDownloader can react Thread.Sleep(2500); } } } } if (update) { saveAnime(); } }
private void _browser_OnDocumentCompleted(object sender, GeckoDocumentCompletedEventArgs geckoDocumentCompletedEventArgs) { Debug.WriteLine("_browser_OnDocumentCompleted ({0})", Thread.CurrentThread.ManagedThreadId); var order = (ThumbnailOrder)((GeckoWebBrowser)sender).Tag; order.Done = true; order.WaitHandle.Set(); }
private void WebBrowser_DocumentCompleted(object sender, GeckoDocumentCompletedEventArgs e) { if (!browser1.IsBusy) { txtUrl.Text = browser1.Url.AbsoluteUri; progressBar.EditValue = 0; } }
private void HandleDocumentCompleted(object sender, GeckoDocumentCompletedEventArgs e) { EventHandler <GeckoDocumentCompletedEventArgs> handler = OnDocumentCompleted; if (handler != null) { handler(this, e); } }
/// <summary>Raises the <see cref="DocumentCompleted"/> event.</summary> /// <param name="e">The data for the event.</param> protected virtual void OnDocumentCompleted(GeckoDocumentCompletedEventArgs e) { EventHandler <GeckoDocumentCompletedEventArgs> handler = DocumentCompleted; if (handler != null) { handler(this, e); } }
private static void Browser_DocumentCompleted(object sender, GeckoDocumentCompletedEventArgs e) { var geckoDomElement = e.Window.Document.DocumentElement; if (geckoDomElement is GeckoHtmlElement element) { var innerHtml = element.InnerHtml; File.WriteAllText("C:\\tmp\\list-fx.html", innerHtml); Environment.Exit(Environment.ExitCode); } }
private void Browser_DocumentCompleted(object sender, GeckoDocumentCompletedEventArgs e) { // DocumentCompleted に相当? // note: 非 UI thread からコールされるので、何かしら UI に触る場合は適切な処置が必要 BeginInvoke((Action)(() => { ApplyStyleSheet(); ApplyZoom(); DestroyDMMreloadDialog(); })); }
protected override void OnDomDocumentCompleted(object sender, GeckoDocumentCompletedEventArgs e) { base.OnDomDocumentCompleted(sender, e); if (!_initialSelectLoad) { _initialSelectLoad = true; var content = (GeckoBodyElement)_browser.Document.GetElementById("mainbody"); content.InnerHtml = _itemHtml.ToString(); } if (_pendingInitialIndex > -1) { SelectedIndex = _pendingInitialIndex; _pendingInitialIndex = -1; } }
private void Browser_DocumentCompleted(object sender, GeckoDocumentCompletedEventArgs e) { if (browser.Url != null) { string url = browser.Url.ToString(); if (url.StartsWith("https://nhentai.net/g/")) { addThisTitleToolStripMenuItem.Enabled = true; } else { addThisTitleToolStripMenuItem.Enabled = false; } } }
protected override void OnDomDocumentCompleted(object sender, GeckoDocumentCompletedEventArgs e) { base.OnDomDocumentCompleted(sender, e); if (!_initialSelectLoad) { _initialSelectLoad = true; var content = (GeckoSelectElement)_browser.Document.GetElementById("main"); content.InnerHtml = _itemHtml.ToString(); } if (_pendingInitialIndex > -1) { int oldIndex = _currentIndex; _currentIndex = _pendingInitialIndex; SetIndexAndNotify(oldIndex != _pendingInitialIndex); _pendingInitialIndex = -1; } }
protected virtual void OnDomDocumentCompleted(object sender, GeckoDocumentCompletedEventArgs e) { _browserDocumentLoaded = true; // Document loaded once AdjustHeight(); if (_entered) { this.Focus(); IContainerControl containerControl = GetContainerControl(); if ((containerControl != null) && (containerControl != this) && (containerControl.ActiveControl != this)) { containerControl.ActiveControl = this; } _browser.WebBrowserFocus.Activate(); var element = (GeckoHtmlElement)_browser.Document.GetElementById("main"); element.Focus(); EnsureFocusedGeckoControlHasInputFocus(); } }
private void OnDocumentCompleted(object sender, GeckoDocumentCompletedEventArgs e) { m_blocksDisplayBrowser.ScrollElementIntoView(BlockNavigatorViewModel.kMainQuoteElementId, -225); }
protected override void OnDocumentCompleted(GeckoDocumentCompletedEventArgs e) { base.OnDocumentCompleted(e); this.DocumentTitle = base.DocumentTitle; this.DocumentCompleted?.Invoke(this, EventArgs.Empty); }
private void OnDocumentCompleted(object sender, GeckoDocumentCompletedEventArgs e) { pageloaded = true; }
private void GeckoWebOnDocumentCompleted(object sender, GeckoDocumentCompletedEventArgs geckoDocumentCompletedEventArgs) { }