gpt4 book ai didi

c++ - 通过 MSHTML 读取 "aria-label"返回 NULL

转载 作者:太空狗 更新时间:2023-10-29 21:20:38 24 4
gpt4 key购买 nike

我正在尝试使用 IE 的 getAttribute 读取 HTML 元素的 aria-label 属性C++/COM 中的方法,但尽管这适用于其他属性(包括 aria-labelledby),但它会为 aria-label 返回 VT_NULL。

我的代码示例如下所示:

CComVariant label;
elem->raw_getAttribute(CComBSTR(L"aria-label"), 0, &label);
if (label.vt == VT_BSTR && SysStringLen(label.bstrVal)) {
// This is never reached
}

getAttributeflags 参数使用 2 时,我得到了相同的结果。

样本 HTML here .

当我尝试在浏览器的 JavaScript 中使用 getAttribute 时,效果很好,但由于某些原因,我无法使用 COM 访问此属性。

我是不是漏掉了什么?

最佳答案

根据我的经验,一些新的 HTML5 属性可以通过 DOM Level 3 访问 getAttributeNode 方法(在 IHTMLElement4 中可用)。

例如,使其适用于 placeholder 属性,我不得不使用 WebBrowser Feature Control并使用 <!DOCTYPE html> 为网页启用 HTML5和 <meta http-equiv="x-ua-compatible" content="IE=Edge"/> (这在任何一种情况下都是一个好主意)。

关于c++ - 通过 MSHTML 读取 "aria-label"返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24105614/

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