Make a headless window out of every window! Perfect for undetected chromedriver (Selenium) to pass bot detection in headless mode.
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file PoorMansHeadless-0.10.tar.gz
.
File metadata
- Download URL: PoorMansHeadless-0.10.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 197d56a398b868ee2a212437e9effdffbe1784d839a1bda4a53a3b995ab55faa |
|
MD5 | 286a9ed75337c426d24f084604bc10fc |
|
BLAKE2b-256 | f9dbec72884fe4abb60d92c6233c0b062ed58d81c912272e9c0c2f8f2c1f15f1 |
File details
Details for the file PoorMansHeadless-0.10-py3-none-any.whl
.
File metadata
- Download URL: PoorMansHeadless-0.10-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d316f1804c351bc21271a55e91f058517733a3e1b38a8237b5d62e6e63135ff8 |
|
MD5 | 26491ed05e7f7c3f6d0bc61e01b654f4 |
|
BLAKE2b-256 | 89a7fb247cc3ddba423ad8f6ce28aa813df1baae5355fbda54581f1a7011215e |