Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PoorMansHeadless-0.10.tar.gz (8.3 kB view hashes)

Uploaded Source

Built Distribution

PoorMansHeadless-0.10-py3-none-any.whl (9.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page