CefSharp 文档完成

Posted

技术标签:

【中文标题】CefSharp 文档完成【英文标题】:CefSharp documentcompleted 【发布时间】:2017-06-18 12:44:06 【问题描述】:

我正在尝试在 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;

        

【问题讨论】:

阅读一般使用指南,Google CefSharp 一般使用。它在维基上 【参考方案1】:

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

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 之类的东西来解析它,因为它不在主题范围内,所以我不打算讨论。

【讨论】:

感谢这真的很有帮助

以上是关于CefSharp 文档完成的主要内容,如果未能解决你的问题,请参考以下文章

关于CefSharp使用的一些备忘

等待页面加载 CefSharp

cefsharp 关于C# 调用JavaScript的一个坑

WinForm CefSharp(谷歌浏览器开源组件)

WinForm CefSharp(谷歌浏览器开源组件)

CefSharp应用——High DPI问题