问题标签 [java-access-bridge]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
136 浏览

java - 当我使用 Java Access Bridge 捕获元素时,我无法获取元素的父级;

我使用Java Access Bridge捕获UI元素,我可以通过GetAccessibleContextAt的方法获取元素,但是当我想通过GetAccessibleParentFromContext的方法获取元素的父级时,有时我失败了,也就是说,我可以得到某些元素的父元素,但我获取不到另一个,例如,在同一个窗口中,我可以获取某些文本控件的父元素,但是某些文本,我无法获取它的父元素,为什么?

我窗口的图像,红色是失败,绿色是成功,

0 投票
1 回答
280 浏览

java - Java 应用程序窗口在 C# InterOp 中未被识别为 java 窗口

我在 C# 中使用带有互操作的 Java Access Bridge API。当尝试AccessibleWindow使用从 user32.dll 方法获得的 hwnd创建一个新GetForegroundWindow()窗口时,它不会将该窗口识别为 java 窗口,返回 null。IsJavaWindow()返回 false,但第二次调用它返回 true。我使用示例“SwingSet2”应用程序对此进行了测试。

我也在使用这个 repo 中的代码:Google Access Bridge

0 投票
1 回答
544 浏览

c# - Java Access Bridge c#无法激活字段、设置文本、单击等

在 C# 中的 Java Access Bridge上工作了一段时间。我终于开始工作了,部分。

  • 我可以正确初始化访问网桥。
  • 我可以使用 GetAccessibleContextFromHWND 来获取 vmid 和 javaObjectHandle。
  • 我也可以使用GetAccessibleContextInfo 来获取accessibleContextInfo。
  • 最后,我可以枚举孩子并找到我感兴趣的节点。

我如何从那里拿走它? 我尝试执行设置文本、单击或获取文本等操作,但无法执行。 我使用了另一个问题中提到的以下代码,Automation using Java Access Bridge

设置文字:

点击一个按钮:

任何想法将不胜感激。谢谢!!

0 投票
0 回答
85 浏览

java - Java Api Callbacks 在 dotnet 框架 4.5 及更高版本上崩溃

尝试在 c# 中使用 Java Access Bridge,一切正常,但是每当我尝试订阅 dotnet 框架 4.5 及更高版本时,例如

应用程序崩溃,但相同的代码在 dotnet 框架 4.0 版上运行良好。检查事件日志:错误模块名称:windowsaccessbridge-64.dll

0 投票
0 回答
122 浏览

java - 如何使用java访问桥获取JTable中的单元格

在此处输入图像描述

我想通过使用 java access bridge 来获取表格中的单元格,但是我无法获取单元格的位置,例如 x、y 宽度、高度。所以有人可以告诉我该怎么做吗?谢谢

0 投票
0 回答
190 浏览

java - 获取外部 Java 应用程序的 BackgroundColor/ForegroundColor

我正在编写自动化测试脚本来检查由 Java Swing 框架运行的目标应用程序。
它使用 Java Access 桥接库来检测目标应用程序中的元素。但是,该库只能获取目标元素的名称/角色/位置/状态,不支持获取其他属性。

这是使用 Access bridge Explorer 工具(使用 Java Access bridge 库)检测元素的示例: 在此处输入图像描述

但是,当我尝试使用Ranorex自动化测试工具时,它能够获得许多属性,例如背景色,前景色...... 在此处输入图像描述 在查看Ranorex的官方网站时,它只描述了它使用一些仪器技术来做到这一点:https: //www.ranorex.com/java-test-automation/

有谁知道如何像 Ranorex 那样获得这些财产?
可用于获取元素属性的技术/库是什么?
我想它使用 Win32 Hook API,但不确定是否正确。

0 投票
0 回答
93 浏览

python - 如何在 Python 中调用 initializeAccessBridge?

我尝试在Python中导入windowsaccessbridge-64.dll,当调用函数initializeAccessBridge时,它说找不到,如何纠正下面的代码?

代码修改如下,AccessBridgeCalls.so被编译并创建了一个消息泵循环,在这个循环中flag = So_accessbridge.initializeAccessBridge()总是返​​回0,所以下面的代码while user32.GetMessageA(ctypes.byref(msg), None, 0, 0)不起作用,有人可以帮我吗?

0 投票
0 回答
260 浏览

python - Python中Java访问桥的单击操作问题

我设法从带有 jab 的 java 小程序中的某些控件中获取描述或名称,并且单击操作也成功运行。java小程序需要一些时间来响应点击动作,在点击动作之后,有时python脚本会继续运行剩余的行,但有时会崩溃并关闭而没有错误消息。在下面的代码中,我想将文本内容设置为文本框并单击按钮 5 次,不幸的是它总是在第一轮后崩溃。

在这里补充一点,我发现当我在运行下面的代码时手动单击该小程序上的某个按钮时,或者当单击操作发布并且小程序本身会执行一些响应时,此时下面的代码将始终停止运行。

还有一点我发现,在python脚本运行期间,applet中的任何状态变化都会导致python内核死机。比如点击动作是post,一些新的信息会出现在applet中,然后python内核就死掉了。

0 投票
0 回答
72 浏览

java - 树 c# 中的 Java Access Bridge 文本框元素不可访问

我正在使用C# 中的 Java 访问桥自动化 Java 应用程序。我已经成功地访问了目标 java 应用程序的完整树,并且能够从各种元素(如按钮、复选框、单选按钮甚至文本框)中检索值。我已经实现了Access Bridge Explorer代码来完成所有工作。

但是,只有同一目标 java 应用程序中的一些文本框在树层次结构中无法访问,从而使其对我的 c# 应用程序以及 Access bridge explorer app 完全不可见

在检查Java Ferret并与其他“可访问”且其值可检索的文本框进行比较后,我发现这些奇怪的文本框在其父节点中的索引为 -1。他们的父属性将具有值“未知”或“无父”,而正常的可访问文本框在父级和实际父级引用中具有适当的索引。

有人可以帮助我在树中访问这些文本框以及访问它们的文本值吗?欣赏任何类型的线索。很多问候。

注意:只有 Java Ferret 能够在鼠标悬停时访问此类文本框。Java Monkey 也无法识别树中的这些文本框元素。下面还附上了 Java Ferret 监视示例 Java 应用程序的屏幕截图 -在此处输入图像描述

0 投票
1 回答
87 浏览

java - 如何检查是否启用了 Java Access Bridge?(电源外壳)

我创建了一个实用程序来检查机器设置所需的各种附加条件/要求。但是,我遇到了一个问题,我想通过文件的位置路径或注册表项检查是否通过 PowerShell 启用或禁用了 JAB(Java Access Bridge)。

有这个网站文档参考了如何使用 jabswitch.exe 通过命令行启用或禁用 JAB,但如上所述,我想检查是否启用/禁用。 https://docs.oracle.com/javase/9​​/access/enable_and_test.htm#JSACC-GUID-7890D37B-16F2-48EC-B45F-2A6CF0613EE5

这可能吗(无需在控制面板\轻松访问\轻松访问中心中截取屏幕截图)?