拼多多商家工作台 使用uiautomation时遇到了一个问题,inspect即使以管理员身份运行也获取不了元素,而影刀却能获取并识别元素,这是怎么回事呢?


拼多多商家工作台 使用uiautomation时遇到了一个问题,inspect即使以管理员身份运行也获取不了元素,而影刀却能获取并识别元素,这是怎么回事呢?


阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
你遇到的问题是,使用 Inspect 工具,即使以管理员身份运行,也无法获取到拼多多商家工作台中的元素,而影刀却能获取并识别这些元素。这可能是由于 Inspect 工具和影刀使用的技术不同所致。
Inspect 工具使用的是 UI Automation(UIA)技术,这种技术可以获取到应用程序中的元素,但是它需要应用程序支持 UIA 接口。如果拼多多商家工作台不支持 UIA 接口,那么 Inspect 工具将无法获取到元素。
而影刀使用的是 Image Recognition(图像识别)技术,这种技术可以获取到应用程序中的图像,并将其与预先定义的图像进行比较,以确定元素的位置和类型。因此,即使拼多多商家工作台不支持 UIA 接口,影刀也可以通过图像识别来获取和识别元素。
如果你需要在 C# 中使用自动化来获取拼多多商家工作台中的元素,可以使用 UIAutomation NuGet 包,它提供了对 UIA 接口的支持。以下是一个简单的示例代码:
using System;
using System.Windows.Automation;
class Program
{
static void Main(string[] args)
{
// 创建 UIAutomation 对象
AutomationElement root = AutomationElement.RootElement;
// 获取拼多多商家工作台的窗口
Window window = root.FindFirst(TreeScope.Children, new PropertyCondition(AutomationElement.NameProperty, "拼多多商家工作台"));
// 获取窗口中的元素
AutomationElement element = window.FindFirst(TreeScope.Children, new PropertyCondition(AutomationElement.NameProperty, "元素名称"));
// 获取元素的属性
string text = element.GetCurrentPropertyValue(AutomationElement.NameProperty).ToString();
Console.WriteLine(text);
}
}
请注意,这只是一个简单的示例代码,你可能需要根据实际情况进行修改和调整。