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 小时前
C#-WPF-Window主窗体
开发语言·c#·wpf
FuckPatience1 天前
Telerik UI for WPF 值不能为null。参数名:key
ui·wpf
lindexi1 天前
WPF 笔迹延迟优化从硬件到软件的全链路分析
wpf
weixin_727535622 天前
双Token认证体系深度拆解:Spring Security + JWT + Redis
redis·spring·wpf
liuxiaowei32 天前
Winform+WPF双框架实战:喷涂工艺SCADA上位机从0到1搭建(附采集监控源码+车间踩坑实录)
大数据·hadoop·wpf
贺国亚3 天前
模型训练-分布式与GPU调度
分布式·wpf
不羁的木木4 天前
HarmonyOS技术精讲-Connectivity Kit:实战——多屏协同与文件快传应用
华为·wpf·harmonyos
某不知名網友4 天前
C++ 从零实现负载均衡式在线 OJ 判题系统|分布式沙箱判题实战
wpf
fogota4 天前
【AI】C# .NET8 WPF 第三方DLL引用配置(编译不丢失、不自动删除)
c#·.net·wpf·dll
不羁的木木4 天前
HarmonyOS技术精讲-Connectivity Kit(短距通信服务):初识统一短距通信框架
华为·wpf·harmonyos