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