Skip to content

Make PyAutoGUI a required dependency on Linux #4009

@mdmintz

Description

@mdmintz

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.

Metadata

Metadata

Assignees

Labels

UC Mode / CDP ModeUndetected Chromedriver Mode / CDP ModedependenciesThis involves updating a dependency file

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions