WinAppDriver 的 FindElement 不会总是在程序中找到要自动化的对象。
我已经让它与其他程序一起工作,比如记事本,甚至我的程序中的一个不同的对话框都可以自动化,并且它在那些地方工作。
这是我目前使用的代码。前三行执行没有错误,成功地将应用程序启动到它的登录对话框中:
Dim appCapabilities As DesiredCapabilities = New DesiredCapabilities()
appCapabilities.SetCapability("app", "C:\[my program].exe")
Dim ProgramSession = New WindowsDriver(Of WindowsElement)(New Uri("http://127.0.0.1:4723"), appCapabilities)
ProgramSession.FindElementByName("Password").SendKeys("Password")
第四行应该找到元素,一个文本框,并通过 sendkeys 将字符串“密码”输入其中,但它失败了,除了以下异常:
System.InvalidOperationException:“使用给定的搜索参数无法在页面上找到元素。”
目标对象在屏幕上,这应该可以工作。我正在使用为 Inspect.exe 中的对象显示的信息,名称:“密码”。
WinAppDriver 的窗口显示以下错误信息:
{"using":"name","value":"Password"}
HTTP/1.1 404 Not Found
Content-Length: 139
Content-Type: application/json{"status":7,"value":{"error":"no such element","message":"使用给定的搜索参数无法在页面上找到一个元素。"}}