Skip to content

Personal

eBay Sniper Bot

A bidding bot whose entire job is one click, executed at a time typed by hand, and whose only real idea is parking the mouse on the button before the wait begins.

Oct 2024Developer tools

Auction sniping means bidding late enough that nobody has time to respond. This automates exactly the last step of that and nothing else: a human opens the browser, logs in, finds the auction and types the maximum bid, then stops at the confirmation button and hands over.

Scope
One click, at a time the user types
Stack
Python · DrissionPage · Chromium
Repository
VincenzoImp/ebay-sniper-bot
VincenzoImp/ebay-sniper-botLast-second bid confirmation for eBay auctions, driven with DrissionPage.Jupyter Notebook

What it is

It does not watch the auction. It never reads the listing, the current price or the closing time. It watches the local system clock against a time the user enters, conventionally one second before the auction ends.

The one interesting line runs before the wait: the mouse is moved onto the confirmation button and the resulting action object is held. Element lookup and cursor travel are paid in advance, so when the moment arrives the only remaining work is the click itself. The wait is then a bare busy loop with no sleep, spinning to get sub-second resolution out of a second-resolution comparison.

Credentials are deliberately absent. There is no login code, no cookie handling and no stored session, because the human logs in, which also means there is nothing in the repository worth stealing.

What I took from it

Everything precise about it is precise for one reason: the expensive work was moved out of the critical path. Everything fragile about it comes from what it does not know: a single hardcoded CSS selector, a target with a time but no date, no confirmation that the click landed, and accuracy bounded entirely by whether the local clock agrees with eBay’s. It is a small, honest demonstration that latency work is mostly deciding what to do early.