首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在reloadWithDebugInfo之后获取Angularjs作用域变量?

如何在reloadWithDebugInfo之后获取Angularjs作用域变量?
EN

Stack Overflow用户
提问于 2019-09-10 05:34:08
回答 1查看 171关注 0票数 0

我有一个angularjs网页,想要获取指定元素的作用域。但执行reloadWithDebugInfo函数后,结果为空;

代码语言:javascript
运行
复制
    private Page _page;
    private Browser _browser;

    private async void button1_ClickAsync(object sender, EventArgs e)
    {
        try
        {
            await initAsync();
            await test2Async();
        }
        catch (Exception ex)
        {
            MessageBox.Show("Error : " + ex.Message);
        }
    }

    private async Task initAsync()
    {
        _browser = await Puppeteer.LaunchAsync(new LaunchOptions
        {
            Headless = false,
            ExecutablePath = @"c:\Program Files (x86)\Google\Chrome\Application\chrome.exe",
            Timeout = 60000
        });
    }

    private async Task test2Async()
    {
        try
        {
            _page = await _browser.NewPageAsync();

            await _page.GoToAsync("https://SOME Angular JS WebPage");

            await _page.EvaluateFunctionAsync(@"() => angular.reloadWithDebugInfo()");

            var scopeContent = await _page.EvaluateFunctionAsync("() => angular.element(document.getElementsByClassName('left-column-v3')).scope() ");

            // scopeContent is null. why? (the above javascript code runs successfully in the chrome dev console.)
        }
        catch (Exception ex)
        {
            MessageBox.Show("Error : " + ex.Message);
        }
    }

这些语句在chrome dev工具中工作得很好。我期望作用域的json内容,但这是空的;

更新:对不起,在Scope()之后我忘了一些东西。我需要作用域中的变量,而不是作用域本身:

代码语言:javascript
运行
复制
        var scopeContent = await _page.EvaluateFunctionAsync("() => angular.element(document.getElementsByClassName('left-column-v3')).scope().SomeVariable ");
EN

回答 1

Stack Overflow用户

发布于 2019-09-10 19:11:21

问题是作用域函数的结果是不可序列化的。您需要在EvaluateFunctionAsync中构建一个可序列化的对象并返回该对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57861475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档