Make a headless window out of every window! Perfect for undetected chromedriver (Selenium) to pass bot detection in headless mode.
From https://github.com/ultrafunkamsterdam/undetected-chromedriver
"just to mention it another time, since some people have hard time reading: headless is still WIP. Raising issues is needless_"
It is of course not the same as Chromes built-in headless mode [that's why I called it PoorMansHeadless :)]
but it allows you to run several automation processes on your pc without getting disturbed all the time.
pip install PoorMansHeadless
# A simple way to get the hwnd for your window:
from PoorMansHeadless import FakeHeadless
hand = FakeHeadless.get_all_windows_with_handle()
hwnd = 2231030
self = FakeHeadless(hwnd)
# The window will be hidden almost completely (99,99999%) . Because of the 0.00001,
# its execution is still a priority for the operating system.
# This little part is a one-pixel-line above the Windows taskbar.
# Too small to see/interact/interfere, but big enough
# to avoid standby mode/rescource saving.
# if you pass None as width and height, the window won't be resized, just moved.
# The upper part will be placed one pixel above the taskbar (distance_from_taskbar)
self.start_headless_mode(width=None, height=None, distance_from_taskbar=1)
# To check if everything is going well in your headless window you can either start a video stream:
self.start_video_stream()
# or save screenshots to the HDD:
self.start_saving_screenshots(
folder="c:\\pictest4", frequency=1
) # if the folder doesn't exist, it will be created. Frequency=1 means one screenshot every second
# if you have seen enough, you can stop the video/screenshot stream by calling:
self.disable_save_screenshots()
self.disable_video_stream()
# if you want to quit the headless mode, use:
self.quit_headless_mode()
# By the way, if you are stuck in topmost mode (window on top of everything) after quitting the headless mode, use
self.activate()
# to set the hierachy back to normal. It happens sometimes when you use your mouse or keyboard,
# while quitting the headless mode.
# The module contains some additional methods (resizing, invisibility, color substitution ... )
# Most of them are used as "helper methods" for the principal
# purpose of this package. But they also can be used on their own.
Metadata
Release files for PoorMansHeadless 0.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| PoorMansHeadless-0.10.tar.gz | 8.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| PoorMansHeadless-0.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.1 kB
Release files / PoorMansHeadless-0.10.tar.gz
| Download URL | PoorMansHeadless-0.10.tar.gz |
|---|---|
| Size | 8.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
197d56a398b868ee2a212437e9effdffbe1784d839a1bda4a53a3b995ab55faa
|
|
BLAKE2b-256 checksum How to use checksums |
f9dbec72884fe4abb60d92c6233c0b062ed58d81c912272e9c0c2f8f2c1f15f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.13
|
Release files / PoorMansHeadless-0.10-py3-none-any.whl
| Download URL | PoorMansHeadless-0.10-py3-none-any.whl |
|---|---|
| Size | 9.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d316f1804c351bc21271a55e91f058517733a3e1b38a8237b5d62e6e63135ff8
|
|
BLAKE2b-256 checksum How to use checksums |
89a7fb247cc3ddba423ad8f6ce28aa813df1baae5355fbda54581f1a7011215e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.13
|