繁体   English   中英

CefSharp 文档完成

[英]CefSharp documentcompleted

我正在尝试在 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有一个带有LoadingStateChangedArgsLoadingStateChanged事件。

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这样的东西来解析它,我不打算介绍它,因为它不是主题。

我最终使用:

using CefSharp;

wbAuthorization.AddressChanged += OnAddressChanged;

private void OnAddressChanged(
    object s,
    AddressChangedEventArgs e)
{
    if (e.Address.StartsWith(EndUri))
    {
        ResultUri = new Uri(e.Address);
        this.DialogResult = DialogResult.OK;
    }
}

EndUri是我要检查的最后一页, ResultUri包含我稍后要提取的字符串。 只是来自更大的 class 的一些示例代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM