Strip3s / PhoenixBot

Phoenix Bot - A Bird Bot Resurrection
MIT License
262 stars 111 forks source link

[BUG] BestBuy Auto-Checkout Failing After Successful Cart #108

Open markspivey opened 3 years ago

markspivey commented 3 years ago

Expected Behavior

I believe Phoenix should be able to auto-checkout.

Actual Behaviour

Phoenix is able to cart an item in BBY but doesn't seem to be able to proceed to checkout to complete the remaining steps.

Screenshots

image

Desktop Configuration

POKAK commented 3 years ago

Same. Does Bestbuy reserves an item for you during checkout? If doesnt, bot is quite pointless.

pyrometheous commented 3 years ago

I'm getting the same thing with Best Buy. I know it's a beta feature right now, does anyone when this'll be a full feature?

Nighthawk70 commented 3 years ago

I changed the line #213 in sites/bestbuy.py From: self.browser.get("https://www.bestbuy.com/checkout/c/r/fast-track") To: self.browser.get("https://www.bestbuy.com/checkout/r/fast-track")

And it worked. However mine now gets stuck on last page and will no hit the 'Place Your Order' button. I'll open an issue for it. I see what it gets stuck but not sure if in Python during a 'while' exception the 'while' keeps executing. Sorry don't know python well enough to have a fix yet.

pyrometheous commented 3 years ago

I have fixed a bunch of the sites/bestbuy.py. I discovered that you need to have a default shipping/billing address and the payment method (on your BBY account) needs to match what you put into PhoenixBot's settings.

I changed the line #213 in sites/bestbuy.py From: self.browser.get("https://www.bestbuy.com/checkout/c/r/fast-track") To: self.browser.get("https://www.bestbuy.com/checkout/r/fast-track")

I also found this typo, and fixing that did resolve one of the issues. I also changed the way it clicked something on checkout, but I've forgotten what that was.

Issues that still remain for me:

abigdreamer commented 3 years ago

I have fixed a bunch of the sites/bestbuy.py. I discovered that you need to have a default shipping/billing address and the payment method (on your BBY account) needs to match what you put into PhoenixBot's settings.

I changed the line #213 in sites/bestbuy.py From: self.browser.get("https://www.bestbuy.com/checkout/c/r/fast-track") To: self.browser.get("https://www.bestbuy.com/checkout/r/fast-track")

I also found this typo, and fixing that did resolve one of the issues. I also changed the way it clicked something on checkout, but I've forgotten what that was.

Issues that still remain for me:

  • Doesn't verify price before checkout
  • Doesn't stop trying to checkout after it's successfully done so
  • Won't run headless for me, been trying, but nothing has worked yet
  • Not 100% sure if it's refreshing the page to verify inventory, but that'll be hard to confirm until it actually buys something that's out of stock.

Here's my modified script: bestbuy.zip I'm going to keep tinkering with it, but I've been able to successfully make 2 purchases with it so far.

Are you using any special Check boxes in setup that are not defaults like best buy auto checkout? Tell us more about your setup. Did you have to help the bot auto buy the items with your 2 successes? Thanks in advance. I've added your changes.