c# - CefSharp 文档完成

标签 c# chromium-embedded cefsharp

我正在尝试在 C# winforms 中使用 cefshar 浏览器,我需要知道如何知道页面何时完全加载以及如何获取浏览器文档和获取 html 元素,

我刚刚初始化浏览器,不知道下一步该做什么:

  public Form1()
        {


            InitializeComponent();
            Cef.Initialize(new CefSettings());
            browser = new ChromiumWebBrowser("http://google.com");
            BrowserContainer.Controls.Add(browser);
            browser.Dock = DockStyle.Fill;

        }

最佳答案

CefSharp 有一个 LoadingStateChanged带有 LoadingStateChangedArgs 的事件。

LoadingStateChangedArgs有一个名为 IsLoading 的属性,它指示页面是否仍在加载。

您应该可以像这样订阅它:

browser.LoadingStateChanged += OnLoadingStateChanged;

这个方法看起来像这样:

private void OnLoadingStateChanged(object sender, LoadingStateChangedEventArgs args)
{
    if (!args.IsLoading)
    {
        // Page has finished loading, do whatever you want here
    }
}

我相信你可以这样获取页面源:

string HTML = await browser.GetSourceAsync();

您可能需要掌握类似 HtmlAgility 的内容解析它,我不打算讨论它,因为它是题外话。

关于c# - CefSharp 文档完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41985380/

相关文章:

c# - Blazor OnChange 事件

c# - 在 MVVM 框架中使用按钮动态添加文本框

在 android 上构建 Chromium 最新版本

c# - CefSharp.BrowserSubprocess 错误

c# winforms显示ffmpeg输出

c# - 在非标识主键中插入一个值

c# - ChromiumFX - 如何同步获取 HTML 源代码?

c# - OS X 上 C#/Mono 的 CEF 在 javascript :window. close() 上崩溃

c# - 将 Cefsharp 作为 Chrome 运行

wpf - 使用 Protractor 对 WPF 中 CefSharp 浏览器下托管的 AngularJS 应用程序进行自动化测试