加载页面后,如何在我的c#程序中恢复通过cefSharp调用的javascript函数发送的列表?

加载页面后,如何在我的c#程序中恢复通过cefSharp调用的javascript函数发送的列表?,javascript,c#,multilingual,cefsharp,eventhandler,Javascript,C#,Multilingual,Cefsharp,Eventhandler,我正在用cefSharp编写一个c#程序,它使用网页上的数据。我的问题出现在从网页中检索我需要的信息时。我需要把这些信息列成一个清单 我首先试着简单地等待整个页面完全加载,但是这太长了,因为我只需要加载DOM,而且检索列表应该高效地进行。有人建议我使用eventHandler来调用javascript方法,以便在DOM加载完成时准确返回列表。我的问题是eventHandler不能返回任何值,因此即使我可以在正确的时间调用我的方法,我也无法在我的c#程序中获取它返回的值。我不知道该怎么办。有没有一

我正在用cefSharp编写一个c#程序,它使用网页上的数据。我的问题出现在从网页中检索我需要的信息时。我需要把这些信息列成一个清单

我首先试着简单地等待整个页面完全加载,但是这太长了,因为我只需要加载DOM,而且检索列表应该高效地进行。有人建议我使用eventHandler来调用javascript方法,以便在DOM加载完成时准确返回列表。我的问题是eventHandler不能返回任何值,因此即使我可以在正确的时间调用我的方法,我也无法在我的c#程序中获取它返回的值。我不知道该怎么办。有没有一种方法可以在正确的时间调用我的方法并仍然获得它返回的值

以下是我尝试过的代码:

browserStartedLoading = async (sender, args) =>
{
   browser.EvaluateScriptAsync("window.addEventListener('DOMContentLoaded', 
   function() { ... });").ContinueWith(x =>
   {
                            var response = x.Result;
                            if (response.Success && response.Result != null)
                            {
                                list = (List<object>)response.Result;

                            }
   });
}
browserStartedLoading=async(发送方,参数)=>
{
browser.EvaluateScript异步(“window.addEventListener('DOMContentLoaded'),
函数()
{
var响应=x.结果;
if(response.Success&&response.Result!=null)
{
list=(list)response.Result;
}
});
}

是什么让您认为DOM loaded和say LoadingStateChange在执行时间上如此不同?您尝试的是绑定一个对象。看看是什么让您认为DOM加载和LoadingStateChange在执行时间上有那么大的不同?您正在尝试的操作将要求您绑定一个对象。请参阅