gpt4 book ai didi

c# - DotNetBrowser DOMNode调试

转载 作者:太空宇宙 更新时间:2023-11-03 22:52:33 29 4
gpt4 key购买 nike

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

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();
}

当我放置断点以便检查复选框中的所有内容时,在调试器中展开复选框时出现以下错误: enter image description here

我不想关闭属性评估,因为我想检查该项目的内容。有关如何纠正此问题的任何建议?

最佳答案

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

当 Visual Studio 在某个断点处停止应用程序时,一些 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

关于c# - DotNetBrowser DOMNode调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46801826/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com