-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Make PyAutoGUI
a required dependency on Linux
I didn't want to originally make PyAutoGUI
required because it has a lot of collected dependencies (and those takes up a fair amount of space), but much of SeleniumBase CDP Mode needs PyAutoGUI to do its job, especially on Linux. Here's the Linux dependency tree for PyAutoGUI
:
PyAutoGUI==0.9.54
├── python3-xlib [required: Any, installed: 0.15]
├── PyMsgBox [required: Any, installed: 2.0.1]
├── pytweening [required: >=1.0.4, installed: 1.2.0]
├── PyScreeze [required: >=0.1.21, installed: 1.0.1]
├── PyGetWindow [required: >=0.0.5, installed: 0.0.9]
│ └── PyRect [required: Any, installed: 0.2.0]
└── MouseInfo [required: Any, installed: 0.1.3]
├── python3-xlib [required: Any, installed: 0.15]
└── pyperclip [required: Any, installed: 1.11.0]
Hopefully adding it won't increase dependency installation times by too much. We'll see if anyone complains. It's only going to be a required dependency for SeleniumBase on Linux, as the other OSes (Windows / macOS) don't necessarily need PyAutoGUI for CDP Mode to function.
This will avoid issues that may occur when SeleniumBase calls a method that uses PyAutoGUI
, such as clicking a CAPTCHA. (If PyAutoGUI
wasn't already installed, then it would either cause a delay in the script, or the script would error out.)
Consider this an experiment that may stay if the benefits outweigh the negatives.