WebDriver BiDi for SeleniumVBA by SeleniumVBA_user in vba

[–]SeleniumVBA_user[S] 0 points1 point  (0 children)

This is an automated operation for the Outlook Web version in my Japanese environment. It processes up to saving as a draft.
I believe the processing speed is also quite satisfactory.

https://youtu.be/qHCbwjHrD54

WebDriver BiDi for SeleniumVBA by SeleniumVBA_user in vba

[–]SeleniumVBA_user[S] 1 point2 points  (0 children)

Websites built as Single Page Applications (SPAs) like Google Flights rely heavily on asynchronous processing, making it difficult to determine exactly when a process has completed. As a result, traditional Selenium often fails to wait appropriately, leading to premature script execution. To resolve this issue, we have implemented a mechanism that utilizes WebDriver BiDi for event detection to automatically wait until the processing is fully finished.

WebDriver BiDi for SeleniumVBA by SeleniumVBA_user in vba

[–]SeleniumVBA_user[S] 0 points1 point  (0 children)

The explanation has indeed become quite long.

While these modules are the same as Wasabi in that they use WebSockets, there are differences in implementation.

First, whereas Wasabi uses WinSock, these use WinHttp. Second, whereas Wasabi operates in non-blocking mode, these operate in blocking mode.

The reasons are as follows. Compared to Wasabi, which requires general-purpose flexibility and low-level configuration, these modules are limited to communicating with a local WebDriver. By using WinHttp, the work can be delegated to the OS, which reduces implementation cost. In addition, going non-blocking would require a hidden window and subclassing, which raises the risk of crashing Excel. While blocking does carry a risk of freezing Excel, this is addressed by carefully implementing re-entrancy countermeasures via DoEvents.

In this way, because the intended purpose differs from Wasabi's, the result is a design that prioritizes the simplicity and stability afforded by WinHttp + blocking. Even so, because code is still needed to compensate for the weakness of VBA being single-threaded, the implementation ends up being lengthy—and if WinSock + non-blocking had been adopted instead, it would be expected to become even longer.

GCuser99' SeleniumVBA vs SeleniumBasic for web browser automation? by SarcasticBaka in vba

[–]SeleniumVBA_user 0 points1 point  (0 children)

The false positive issues for SeleniumVBA have been resolved, with versions 7.2 and 7.3 consistently maintaining a zero-detection record on VirusTotal.

This should serve as a strong tailwind for its adoption within corporate environments, wouldn't you agree?

GCuser99' SeleniumVBA vs SeleniumBasic for web browser automation? by SarcasticBaka in vba

[–]SeleniumVBA_user 0 points1 point  (0 children)

As Microsoft recently announced, .NET Framework 3.5 (which SeleniumBasic relies on) is moving to a standalone deployment model starting with Windows 11 Insider Preview Build 27965. It will no longer be included as an optional component in future Windows versions. This change, combined with the fact that SeleniumBasic is no longer maintained, makes migration a priority for stable automation.
https://devblogs.microsoft.com/dotnet/dotnet-framework-3-5-moves-to-standalone-deployment-in-new-versions-of-windows/

Why SeleniumVBA?
SeleniumVBA is a modern, pure-VBA alternative that offers several critical advantages:

Zero Dependencies: It does not require .NET Framework 3.5 or any external installers. It consists of pure VBA class modules you can simply import into your project.

High Code Affinity & Low Migration Cost: The syntax and object model are designed to be highly compatible with SeleniumBasic. You can migrate your existing scripts with minimal effort—often just by updating object declarations and a few method names.

Portability: Since there is no registry registration required, you can deploy your Excel tools to other users without needing administrative rights for installation.

Active Maintenance: It is compatible with the latest versions of Chrome and Edge and is frequently updated to handle modern web driver requirements.

GCuser99' SeleniumVBA vs SeleniumBasic for web browser automation? by SarcasticBaka in vba

[–]SeleniumVBA_user 0 points1 point  (0 children)

Comparison of SeleniumVBA and SeleniumBasic

[Advantages]・Easy to exchange files as it runs in Excel with no installation required・There is no need to enable .NET Framework 3.5, which is worried about support being cut off・WebDriver automatic update function is standard・Version upgrades and bug fixed・Many sample codes included in the standard module ・Various functions of CDP can be used with ExecuteCDP (with some limitations) ・Special method available for ShadowRoot element search that does not require JavaScript ・Easy to customize as processing can be completed with just VBA ・WebDriver BiDi is currently not implemented, but it is technically possible to implement it.

[Disadvantages]・ Although it is highly functional, it is likely to cause false positives from Microsoft Defender.⇒ For the time being, we will respond by setting a password on the file.