WPF+CEF 执行JS报错

WPF+CEF 执行JS报错

在WPF中执行 webBrowser.EvaluateScriptAsync("window.scrollBy(0, 1000);");

在部分网站会报异常:
Request BrowserId : XXXX not found it's likely the browser is already closed


环境

.Net Framework 4.7

CefSharp.Wpf 131.3.50

解决方案:

使用CEF的控制台去执行

xml 复制代码
// xaml 页面
<cef:ChromiumWebBrowser x:Name="webBrowser" />
csharp 复制代码
//using CefSharp.Wpf;

public static async Task<ResultInfo> GetEvaluateJsAsync(ChromiumWebBrowser webBrowser, string js)
{
    var res = new ResultInfo() { Success = false };
    try
    {
        if (webBrowser == null || webBrowser.IsDisposed)
            return res;

        var client = webBrowser.GetDevToolsClient();
        if (client == null)
            return res;

        var result = await client.Runtime.EvaluateAsync(js, null, true, null, null, true, null, true);
        if (result == null || result.ExceptionDetails != null)
            return res;
        res.Result = result.Result.Value?.ToString();
        res.Success = true;
        return res;
    }
    catch (Exception ex)
    {
        res.Result = ex.Message;
        return res;
    }
}

 public class ResultInfo
 {
     public bool Success { get; set; }
     public string Result { get; set; }
 }
相关推荐
晓纪同学21 小时前
WPF-03 第一个WPF程序
大数据·hadoop·wpf
光电大美美-见合八方中国芯1 天前
用于无色波分复用光网络的 10.7 Gb/s 反射式电吸收调制器与半导体光放大器单片集成
网络·后端·ai·云计算·wpf·信息与通信·模块测试
晓纪同学1 天前
WPF-02体系结构
wpf
晓纪同学1 天前
WPF-01概述
wpf
海盗12341 天前
OxyPlot 在 WPF 中的使用
.net·wpf
晓纪同学1 天前
WPF-04 XAML概述
wpf
△曉風殘月〆2 天前
如何在WPF中捕获窗口外的事件
wpf
爱吃烤鸡翅的酸菜鱼3 天前
Java 事件发布-订阅机制全解析:从原生实现到主流中间件
java·中间件·wpf·事件·发布订阅
武藤一雄4 天前
WPF中ViewModel之间的5种通讯方式
开发语言·前端·microsoft·c#·wpf
CSharp精选营4 天前
都是微软亲儿子,WPF凭啥干不掉WinForm?这3个场景说明白了
c#·wpf·跨平台·winform