首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DotNetBrowser DOMNode调试

DotNetBrowser DOMNode调试
EN

Stack Overflow用户
提问于 2017-10-18 02:15:07
回答 1查看 299关注 0票数 1

我正在使用DotNetBrowser,或者至少尝试使用,并且我正在尝试获取文档中的所有复选框。

代码语言:javascript
复制
public static void SetCodecSettings()
    {
        var waitEvent = new ManualResetEvent(false);
        _mf.Browser.FinishLoadingFrameEvent += delegate(object sender, FinishLoadingEventArgs e)
        {
            if (e.IsMainFrame)
            {
                waitEvent.Set();
                var doc = _mf.Browser.GetDocument();
                var html = _mf.Browser.GetHTML();
                var checkBoxes = doc.GetElementsByTagName("input");
            }
        };
        _mf.Browser.LoadURL(_mf.PattonDeviceUrl + "/codecset.htm");
        waitEvent.WaitOne();
    }

当我放入一个断点,以便检查checkBoxes中的所有内容时,在调试器中展开checkBoxes时会得到以下错误:

我不想关闭属性评估,因为我想检查该项的内容。关于如何纠正这个问题,有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-19 05:26:15

铬引擎在一个单独的过程中运行。DotNetBrowser库使用多个线程在Chromium和.NET端之间交换数据。几乎任何评估都涉及IPC,因为DotNetBrowser本身不执行任何数据缓存。

当Visual在某个断点停止应用程序时,一些DotNetBrowser线程将被暂停。在这种情况下,库无法从Chromium获取数据和处理请求。这就是为什么不能在调试器中计算表达式的原因。

这个问题在调试多进程应用程序时很常见,不仅仅是DotNetBrowser。作为解决办法,您可以使用日志在运行时显示所需的数据。

以下文章解释了所观察到的行为:

https://dotnetbrowser.support.teamdev.com/support/solutions/articles/9000117030--the-function-evaluation-requires-all-threads-to-run-message-in-debugger-or-quick-watch

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

https://stackoverflow.com/questions/46801826

复制
相关文章

相似问题

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