Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to log in to account with username XXXXX. Reason: Invalid credentials. Status code: 400. Passwords with non-alphanumeric characters? #225

Closed
darryllee opened this issue Feb 16, 2024 · 11 comments
Labels
bug Something isn't working

Comments

@darryllee
Copy link

Version

Auto-Southwest Check-In v7.2

Browser Version

Chrome 121.0.6167.139

Description

Previously fare check seemed to be working for 4 different accounts. However after restarting recently, two accounts which have non-alphanumeric characters in their passwords seem unable to log in?

Copying and pasting the password from the config.json file I can log in a browser without any issues.

I'll attach a log.

To Reproduce

  1. Start script

Expected Behavior

Every account can login, check fares

Relevant logs and program output

Not sure if this is related, but console showed these error messages after a standalone Reservation was successfully scheduled for check-in:

Process Process-5:
Traceback (most recent call last):
  File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/darryllee/workspace/auto-southwest-check-in/lib/reservation_monitor.py", line 42, in monitor
    self._monitor()
  File "/home/darryllee/workspace/auto-southwest-check-in/lib/reservation_monitor.py", line 157, in _monitor
    reservations, skip_scheduling = self._get_reservations()
  File "/home/darryllee/workspace/auto-southwest-check-in/lib/reservation_monitor.py", line 182, in _get_reservations
    reservations = webdriver.get_reservations(self)
  File "/home/darryllee/workspace/auto-southwest-check-in/lib/webdriver.py", line 84, in get_reservations
    driver.click(".login-button--box")
  File "/home/darryllee/.local/lib/python3.10/site-packages/seleniumbase/core/sb_driver.py", line 54, in click
    page_actions.click(self.driver, *args, **kwargs)
  File "/home/darryllee/.local/lib/python3.10/site-packages/seleniumbase/fixtures/page_actions.py", line 1526, in click
    element.click()
  File "/home/darryllee/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py", line 93, in click
    self._execute(Command.CLICK_ELEMENT)
  File "/home/darryllee/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py", line 394, in _execute
    return self._parent.execute(command, params)
  File "/home/darryllee/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 347, in execute
    self.error_handler.check_response(response)
  File "/home/darryllee/.local/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <span class="login-button--box">...</span> is not clickable at point (1371, 28). Other element would receive the click: <div class="backdrop visible active"></div>
  (Session info: chrome=121.0.6167.139)
Stacktrace:
#0 0x56062b0d1d93 <unknown>
#1 0x56062adb5337 <unknown>
#2 0x56062ae07e2e <unknown>
#3 0x56062ae05bd0 <unknown>
#4 0x56062ae0344a <unknown>
#5 0x56062ae02226 <unknown>
#6 0x56062adf56b7 <unknown>
#7 0x56062ae23442 <unknown>
#8 0x56062adf5028 <unknown>
#9 0x56062ae2360e <unknown>
#10 0x56062ae4212d <unknown>
#11 0x56062ae231e3 <unknown>
#12 0x56062adf3135 <unknown>
#13 0x56062adf413e <unknown>
#14 0x56062b095e4b <unknown>
#15 0x56062b099dfa <unknown>
#16 0x56062b0826d5 <unknown>
#17 0x56062b09aa6f <unknown>
#18 0x56062b06669f <unknown>
#19 0x56062b0bf098 <unknown>
#20 0x56062b0bf262 <unknown>
#21 0x56062b0d0f34 <unknown>
#22 0x7fdc5c294ac3 <unknown>

Additional context

No response

@darryllee darryllee added the bug Something isn't working label Feb 16, 2024
@darryllee
Copy link
Author

@darryllee
Copy link
Author

darryllee commented Feb 16, 2024

So I isolated the two "problem accounts" onto a different machine running the script. They still failed to login, so then I removed the one special character ($) from one of the account passwords, and it was able to successfully login.

HOWEVER, it failed during: Retrieving matching flights:

2024-02-15 23:48:49 DEBUG Process-1[checkin_scheduler:116]: 2 flights are currently scheduled. Removing old flights
2024-02-15 23:48:49 DEBUG Process-1[checkin_scheduler:132]: Successfully removed old flights. 2 flights are now scheduled
2024-02-15 23:48:49 DEBUG Process-1[reservation_monitor:93]: Checking fares for 2 flights
2024-02-15 23:48:49 DEBUG Process-1[fare_checker:30]: Checking current price for flight
2024-02-15 23:48:49 DEBUG Process-1[fare_checker:88]: Retrieving reservation information
2024-02-15 23:48:51 DEBUG Process-1[utils:32]: Successfully made request after 1 attempts
2024-02-15 23:48:51 DEBUG Process-1[fare_checker:103]: Retrieving search information for the current flight
2024-02-15 23:48:53 DEBUG Process-1[utils:32]: Successfully made request after 1 attempts
2024-02-15 23:48:53 DEBUG Process-1[fare_checker:82]: Retrieving matching flights
2024-02-15 23:48:59 DEBUG Process-1[utils:39]: Failed to make request after 7 attempts: Bad Request 400
2024-02-15 23:48:59 DEBUG Process-1[utils:42]: Response body: {"code":400310657,"message":"Please select the flight(s) you would like to change","messageKey":"VALIDATION__NO_BOUNDS_TO_CHANGE","header":null,"httpStatusCode":"BAD_REQUEST","requestId":"no-exp-id:0.ca17dd17.1708069738.5582f69:mweb","infoList":[{"key":"","value":"Please select the flight(s) you would like to change"}]}
2024-02-15 23:48:59 ERROR Process-1[reservation_monitor:102]: Requesting error during fare check. Bad Request 400. Skipping...
2024-02-15 23:48:59 DEBUG Process-1[fare_checker:30]: Checking current price for flight
2024-02-15 23:48:59 DEBUG Process-1[fare_checker:88]: Retrieving reservation information
2024-02-15 23:49:02 DEBUG Process-1[utils:32]: Successfully made request after 1 attempts
2024-02-15 23:49:02 DEBUG Process-1[fare_checker:103]: Retrieving search information for the current flight
2024-02-15 23:49:05 DEBUG Process-1[utils:32]: Successfully made request after 1 attempts
2024-02-15 23:49:05 DEBUG Process-1[fare_checker:82]: Retrieving matching flights
2024-02-15 23:49:12 DEBUG Process-1[utils:39]: Failed to make request after 7 attempts: Bad Request 400
2024-02-15 23:49:12 DEBUG Process-1[utils:42]: Response body: {"code":400310657,"message":"Please select the flight(s) you would like to change","messageKey":"VALIDATION__NO_BOUNDS_TO_CHANGE","header":null,"httpStatusCode":"BAD_REQUEST","requestId":"no-exp-id:0.ca17dd17.1708069751.558463c:mweb","infoList":[{"key":"","value":"Please select the flight(s) you would like to change"}]}
2024-02-15 23:49:12 ERROR Process-1[reservation_monitor:102]: Requesting error during fare check. Bad Request 400. Skipping...

@darryllee
Copy link
Author

(My other machine is running a different browser: Chromium 113.0.5672.95)

@darryllee
Copy link
Author

AH ok so it looks like the script may have triggered a password lockout for the second account:

Maximum number of tries reached. Please try again later.

Sigh. Will try to log in manually to reset tomorrow.

@jdholtz
Copy link
Owner

jdholtz commented Feb 16, 2024

The special characters issue was fixed in #223 and the bad request you are getting during the fare check was fixed in #224. Are you still getting the issues on the develop branch?

@darryllee
Copy link
Author

Ah, crap, sorry I missed that. I'll switch to develop.
Thank you as always!

@jdholtz
Copy link
Owner

jdholtz commented Feb 16, 2024

Hey @darryllee were these issues fixed for you once you switched to the develop branch/image?

@smiller393
Copy link

smiller393 commented Feb 17, 2024

Getting the 403 issue as well, using "conf first last" and "username password" for running it. With "username password" auth it's able to log in but not fetch the reservation.
Getting the same issue running as python and as a docker image (develop and main)

Also thanks for the hard work on this @jdholtz !!

@darryllee
Copy link
Author

Hey @darryllee were these issues fixed for you once you switched to the develop branch/image?

Confirming that YES, switching to develop resolved my issue, although after updating requirements, I ran into a problem with the uc_driver and chromedriver couldn't be rebuilt/downloaded because the download failed.

Turned out to be this issue: https://stackoverflow.com/questions/78001476/failed-downloading-chromedriver-v121-0-6167-184-download-failed-server-returne

Which was fixed YESTERDAY here, but for master (4.23.4): seleniumbase/SeleniumBase@580e705

I "backported" the fix to the version auto-southwest-check-in requires, 4.22.5, by updating the URL here:
~/.local/lib/python3.10/site-packages/seleniumbase/console_scripts/sb_install.py

--- sb_install.py.orig	2024-02-16 17:41:24.040388459 -0800
+++ sb_install.py	2024-02-16 11:14:54.500539483 -0800
@@ -495,7 +495,7 @@
                     file_name = "chromedriver-win32.zip"
             plat_arch = file_name.split(".zip")[0]
             download_url = (
-                "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/"
+                "https://storage.googleapis.com/chrome-for-testing-public/"
                 "%s/%s/%s" % (use_version, platform_code, file_name)
             )
         url_request = None

@jdholtz
Copy link
Owner

jdholtz commented Feb 17, 2024

Which was fixed YESTERDAY here, but for master (4.23.4)

Earlier today, I updated the requirements to use the latest SeleniumBase version which should fix the issue you are receiving when downloading the driver.

@jdholtz
Copy link
Owner

jdholtz commented Feb 17, 2024

Getting the 403 issue as well, using "conf first last" and "username password" for running it. With "username password" auth it's able to log in but not fetch the reservation.
Getting the same issue running as python and as a docker image (develop and main)

@smiller393 I'll track the 403 issue in another issue (either #201 or #226).

@jdholtz jdholtz closed this as completed Feb 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants