选择分页后无法从cefsharp浏览器获取HTML

问题描述

  1. 我使用 cefsharp 加载了一个页面,该页面在页面中提供了 25 个链接。
  2. 使用 FrameLoadEnd 将 HTML 内容放入 HtmlAgilityPack 文档中。
  3. 从节点获得了 25 个链接的标题。 问题 当我点击页面上的 50 个链接并尝试获取标题时,它仍然给了我 25 个链接。这是旧页面。我不明白为什么 FrameLoadEnd 在导航到页面内的另一个链接时无法更改 html。

Screen shot when page is loading 25 titles

当我点击 50 个标题时,我无法获得 50 个标题的 html 内容

这里是代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CefSharp;
using CefSharp.WinForms;
using System.Windows.Forms;
using HtmlAgilityPack;

namespace Hummingbird_HAP_E_Scraper
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender,EventArgs e)
        {
            chromiumWebBrowser1.Load("https://www.sciencedirect.com/search?qs=nursing");
        }
        string html;
        private void ChromiumWebBrowser1_FrameLoadEnd(object sender,CefSharp.FrameLoadEndEventArgs e)
        {
            BeginInvoke((Action)(async () =>
            {
                html = await chromiumWebBrowser1.GetSourceAsync();
            }));
        }
       HtmlAgilityPack.HtmlDocument xdoc = new HtmlAgilityPack.HtmlDocument();
        private void Button1_Click(object sender,EventArgs e)
        {
            xdoc.LoadHtml(html);
            System.Threading.Thread.Sleep(5000);
          
            HtmlNodeCollection links;
            links = xdoc.DocumentNode.SelectNodes("//h2/span/a");
                    if (links == null)
                        return;
                    foreach (HtmlNode link in links)
                    {
                         listBox1.Items.Add(link.InnerText);
   
                    }
            }
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...