I checked this webui lib you linked to cos Im interested in alternatives to LCL. It looks nice, I was even able to static-compile this lib into my app so no DLL file needed. Single exe file, 261 KB.
It's great that you managed to try the library and link it statically. Could you write a little instruction on how to do this for other users?
But one thing, with webui its not possible to browse other webpages. It creates socket connection between browser and your app, and as soon as you close the connection the webui no longer works. Socket connection management is JavaScript appended to your HTML. So if for example you execute JS "document.location.href = 'some domain...'", then webui socket script is no longer running and connection breaks and your app closes - webui_wait() thinks the browser window was closed.
The library itself is not intended for testing web pages, it is precisely the replacement of the interface using the browser. But I use some tricks, at least they worked in the old version of the library, which allowed me to work around this problem, something like
this, wich makes to autoload webui js code, or you can manipulate dom manually, including webui.js in each page you load.
And it was my
suggestion to use the library in headless mode, because I'm not so interested in using it as an interface for applications, but I really need a full-fledged replacement of the heavy webdriver.
Here is a snippet of the code I have changed to where I use wget instead
At first glance, the presented command code is not difficult to repeat on pascal, even without third-party modules, since the entire page is simply downloaded and the necessary link is located in the text, given statically from the server when the page is generated. Difficulties will begin when link generation occurs on the fly, when the page is running in the browser, then it will require the methods discussed in the topic.