C# 在准备好的HTML上执行Javascript

C# 在准备好的HTML上执行Javascript,c#,cefsharp,C#,Cefsharp,我基本上是在创建一个软件,它需要根据CefSharp浏览的页面执行Javascript代码。 问题是我需要尽可能快地执行这段代码,但我找不到一种使用CefSharp的方法 理想的做法是在HTML准备好后执行Javascript代码,而不是在选项卡加载完成后执行,这是浪费时间。 我已经试过两件事: ExecuteScriptAsync():但这执行得太早,因为HTML尚未加载,因此它返回错误,表示我的JS脚本要使用的元素未定义 ExecuteScriptAsyncWhenPageLoaded:

我基本上是在创建一个软件,它需要根据CefSharp浏览的页面执行Javascript代码。 问题是我需要尽可能快地执行这段代码,但我找不到一种使用CefSharp的方法

理想的做法是在HTML准备好后执行Javascript代码,而不是在选项卡加载完成后执行,这是浪费时间。

我已经试过两件事:

  • ExecuteScriptAsync()
    :但这执行得太早,因为HTML尚未加载,因此它返回错误,表示我的JS脚本要使用的元素未定义

  • ExecuteScriptAsyncWhenPageLoaded
    :不言自明,JS在页面完全加载时执行


所有这一切的目的是尽可能节省执行时间。

我最终找到了一个解决方案,它包括在使用
ExecuteScriptAsync()
浏览页面后执行脚本,然后检测DOM何时准备启动脚本

我首先尝试使用jQuery(
$(document).ready(function(){…});
),但在执行Javascript文件时,库甚至还没有包括在内


因此,工作方式是使用纯Javascript,而不是带有
window.addEventListener('DOMContentLoaded',function(){/*Main script here*/})的jQuery

请确保您已经阅读了ExecuteScriptAsync,它没有按照您的注释指示脚本何时执行,而是在您调用脚本时执行。我建议您添加一个正在使用的html和JavaScript的详细示例,并添加JavaScript标记。您可以使用标准的JavaScript选项,当然,订阅DOM加载的事件,MutationObserveretc@amaitland我明白这一点。我想做的是在HTML就绪时执行JS。我找到了解决办法,这正是我的建议。