提问人:tex1138 提问时间:11/10/2023 最后编辑:273Ktex1138 更新时间:11/13/2023 访问量:35
Webview2(C++) 中的 ExecuteScript(document.getElementById('form') 返回 null 或一些 jQuery,如字符串 [duplicate]
ExecuteScript(document.getElementById('form') in Webview2(C++) return null or some jQuery like string [duplicate]
问:
我使用 webview2 executeScipt 访问 DOM,但遇到了一些问题。
HTML 文档正在加载完成,然后调用下面的 C++ 代码。 只有 getElementById 函数不起作用,返回 null, 但是 outerHTML 很好。
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<div id="internalWrapper">
<div id="container" class="lightTheme">
<div id="form_header"></div>
<div id="form" ctrltype="CT_FORM" class="formGrid" container="true"></div>
<div id="form_footer"></div>
</div>
</div>
</div>
</body>
</html>
webview->ExecuteScript(_T("document.documentElement.outerHTML", hCallback) // OK, return full html code
webview->ExecuteScript(_T("document.getElementById('form')", hCallback) // return null
我将html文件更改为非常简单的html和 将 api 更改为 getElementByClassName() 但返回 null。
答: 暂无答案
评论
getElementById()
documentElement.outerHTML
只获取一个文本,该文本尚未被 DOM 构建器处理。