我用的是最新版本的dotnetbrowser, q1: 发现调试窗口看不到DOMElement类的prop,有些类(方法)的arg名也看不到,可能是混淆保护造成的...
q2: docment.getelementbyid('search').value = 123;这个 js 工作正常,但是 DOMElement.NodeValue =123 对页面没有任何影响,我有什么问题吗?..
谢谢你
我用的是最新版本的dotnetbrowser, q1: 发现调试窗口看不到DOMElement类的prop,有些类(方法)的arg名也看不到,可能是混淆保护造成的...
q2: docment.getelementbyid('search').value = 123;这个 js 工作正常,但是 DOMElement.NodeValue =123 对页面没有任何影响,我有什么问题吗?..
谢谢你
以下是您的问题的答案。
如文档文章中所述,DotNetBrowser 库使用多个线程在 Chromium 引擎和 .NET 之间交换数据。对于各种属性的值也是如此DOMElement
——这就是为什么您不能直接在调试器窗口中看到它们的原因。此外,保护对调试器隐藏了内部逻辑,这就是为什么其中可能缺少某些信息的原因。
该DOMElement.NodeValue
属性对应于nodeValue DOM 属性,而不是value
DOM 元素的属性。在您的情况下,有必要强制DOMElement
转换DOMInputElement
并使用该Value
属性,该属性对应于value
JavaScript 属性。
这是演示如何设置输入字段值的文章的链接: https ://dotnetbrowser.support.teamdev.com/support/solutions/articles/9000110038-setting-input-field-value-working-with-form