I’m building a Java robot on Windows 10 64-bit, 64 bit Java, latest JRE (v1.8.0_411). Fresh install of Robocorp VSCode plugins (Robocorp Code v1.22.3, Robot Framework Language Server v1.12.0).
My code is based on the official docs: https://robocorp.com/docs/libraries/rpa-framework/rpa-javaaccessbridge/keywords#list-java-windows
Code tasks.py:
from robocorp.tasks import task
from RPA.JavaAccessBridge import JavaAccessBridge, ContextTree
import subprocess
# initialize the Java Access Bridge
java = JavaAccessBridge()
@task
def minimal_task():
subprocess.Popen(
["C:\Program Files\Java\jre\bin\java.exe", "-jar", "BasicSwing.jar", "test"],
shell=True,
cwd="C:\Users\Admin\Documents\",
close_fds=True
)
java.select_window_by_title('test')
Code conda.yaml:
channels:
- conda-forge
dependencies:
- python=3.10.12 # https://pyreadiness.org/3.10
- pip=23.2.1 # https://pip.pypa.io/en/stable/news
- robocorp-truststore=0.8.0 # https://pypi.org/project/robocorp-truststore/
- pip:
- rpaframework==28.4.0 # https://rpaframework.org/releasenotes.html
- robocorp==1.6.2 # https://pypi.org/project/robocorp
- robocorp-browser==2.2.1 # https://pypi.org/project/robocorp-browser
- java-access-bridge-wrapper==1.2.0 # https://pypi.org/project/java-access-bridge-wrapper/
I receive following error when calling java.select_window_by_title(“test”)
============================ Running: minimal_task ============================= 2024-06-02 09:39:42,017 [INFO] {JavaAccessBridge.py:502} Java Access Bridge Wrapper initialized
2024-06-02 09:39:42,056 [INFO] {jab_wrapper.py:654} Found Java window
text=test pid=5264 hwnd=197616 vmID=c_long(197574) context=<JavaObject
object at 0x0000023239726D40>2024-06-02 09:39:42,059 [INFO] {JavaAccessBridge.py:1068}
VMversion=1.8.0_411; BridgeJavaClassVersion=1.8.0_411;
BridgeJavaDLLVersion=1.8.0_411; BridgeWinDLLVersion=1.8.0_411
minimal_task status: FAIL(1400, ‘SetForegroundWindow’, ‘Invalid window handle.’)
==================== Full Traceback (running minimal_task) ===================== Traceback (most recent call last): File “C:ProgramDatarobocorpht9cf649c_b1f3c24_09529949libsite-packagesrobocorptasks_commands.py”,
line 440, in run
result = task.run(*args, **kwargs) File “C:ProgramDatarobocorpht9cf649c_b1f3c24_09529949libsite-packagesrobocorptasks_task.py”,
line 89, in run
return self.method(*args, **kwargs) File “macHomeDocumentsCodingcodiflyrobotframework-exampletasks.py”,
line 16, in minimal_task
java.select_window_by_title(‘test’) File “C:ProgramDatarobocorpht9cf649c_b1f3c24_09529949libsite-packagesRPAJavaAccessBridge.py”,
line 1204, in select_window_by_title
self._select_window( File “C:ProgramDatarobocorpht9cf649c_b1f3c24_09529949libsite-packagesRPAJavaAccessBridge.py”,
line 1271, in _select_window
self._bring_window_to_foreground() File “C:ProgramDatarobocorpht9cf649c_b1f3c24_09529949libsite-packagesRPAJavaAccessBridge.py”,
line 1284, in _bring_window_to_foreground
win32gui.SetForegroundWindow(handle) pywintypes.error: (1400, ‘SetForegroundWindow’, ‘Invalid window handle.’)
What is causing the issue? Thanks for helping!