我需要处理一些SPA页面及其作用域。页面的angularJS DebuggingInfo未加载;因此,我首先使用javascript函数来加载它,然后我需要执行另一个javascript函数并获取Scope信息,但是我不能。那么最好的方法是什么?
var executionContext = await _page.MainFrame.GetExecutionContextAsync();
await executionContext.EvaluateFunctionAsync(@"() => {
angular.reloadWithDebugInfo();
}");
// the error happened in the next line
var someResult = await executionContext.EvaluateFunctionAsync(@"
() =>
{
return angular.element(document.getElementsByClassName('testClassName')).scope();
}");
之后,如果使用相同的上下文(executionContext),则会得到 EvaluationFailedException:执行上下文被破坏,很可能是由于导航的原因。
在当前页面的AngularJS调试启用后,我需要相同的上下文(这会导致页面重新加载)。