我正在尝试使用诸如 inspect.exe 或 UISpy 之类的 MS UI 自动化工具来访问 CefSharp 窗口。默认情况下,这些 CefSharp 窗口被视为图像,并且 UI 属性不可访问。
我已经设置了命令行参数“force-renderer-accessibility”。它本身并没有改变任何东西,但后来我添加了这段代码:
browser.AccessibilityHandler = new AccessibilityHandler(browser);
browser.IsBrowserInitializedChanged += (sender, args) =>
{
if ((bool)args.NewValue)
{
browser.GetBrowserHost().SetAccessibilityState(CefState.Enabled);
}
};
它部分工作,我可以访问大多数控件,但其中一些仍然无法访问(它们被 UISpy 称为“组”,你不能更深入地遍历它们作为树节点)。扫描还发现一些项目离它们的真实位置有点远。
是否有更好的方法使 CefSharp WPF 窗口可用于 UI 自动化工具?有什么我做错了吗?
我正在使用 CefSharp 97.1.12