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

403 and 429 Errors Thread #277

Open
jdholtz opened this issue Jun 30, 2024 · 259 comments
Open

403 and 429 Errors Thread #277

jdholtz opened this issue Jun 30, 2024 · 259 comments
Labels
bug Something isn't working

Comments

@jdholtz
Copy link
Owner

jdholtz commented Jun 30, 2024

Version

v7.5 (develop branch)

Browser Version

N/A

Description

With the merge of #274 on the develop branch, 403 and 429 errors are being handled much better (or not even seen). I want to consolidate the #201 and #230 threads into one. Using the thread below, people can report if they are or aren't seeing these errors as well as the environment they're using (Docker, laptop, server, etc.) and how many accounts/reservations are being monitored.

To Reproduce

  1. Run either the Docker image or the local Python installation
  2. See if any requests fail (using either the --verbose flag or the log files which will have more information on any failed attempts)

Expected Behavior

It is not expected that you never see 403 or 429 errors again. However, with the recent changes you should still eventually have successful attempts at logging in, scheduling check ins, fare checking, and checking in. The goal is to have no attempts too many times to the point they are not retried (the corresponding log message: Failed to make request after ... attempts: ...)

Relevant logs and program output

No response

Additional context

For the most part, only logs like the following are helpful.
Request error on attempt ... Sleeping for 1.98 seconds until next attempt

Pasting all logs are fine, but please use a collapsed section in order to not clutter the main thread.

To get the latest changes, you can either use Docker or the develop branch locally.

Docker: docker pull jdholtz/auto-southwest-check-in:develop
Local: git pull && git checkout develop

@jdholtz jdholtz added the bug Something isn't working label Jun 30, 2024
@jdholtz jdholtz pinned this issue Jun 30, 2024
@natecodes
Copy link
Contributor

natecodes commented Jul 1, 2024

Macbook M1 no docker
1 account, ~30 reservations

'Too Many Requests' error only with logins, not reservations (see #277 (comment))

LOG
2024-07-01 12:12:44 DEBUG MainProcess[main:113]: Auto-Southwest Check-In v7.5
2024-07-01 12:12:44 DEBUG MainProcess[main:71]: Called with 0 arguments
2024-07-01 12:12:44 DEBUG MainProcess[config:132]: Initializing configuration file
2024-07-01 12:12:44 DEBUG MainProcess[config:161]: Reading the configuration file
2024-07-01 12:12:44 DEBUG MainProcess[config:174]: Reading configuration from environment variables
2024-07-01 12:12:44 DEBUG MainProcess[config:60]: Setting check fares to True
2024-07-01 12:12:44 DEBUG MainProcess[config:75]: Setting retrieval interval to 24 hours
2024-07-01 12:12:44 DEBUG MainProcess[config:109]: Setting notification level to <NotificationLevel.INFO: 1>
2024-07-01 12:12:44 DEBUG MainProcess[config:122]: Using 0 notification services
2024-07-01 12:12:44 DEBUG MainProcess[config:144]: Creating configurations for 1 accounts
2024-07-01 12:12:44 DEBUG MainProcess[config:151]: Creating configurations for 0 reservations
2024-07-01 12:12:44 INFO MainProcess[main:97]: Monitoring 1 account and 0 reservations

2024-07-01 12:12:44 DEBUG Process-1[reservation_monitor:168]: Acquiring lock...
2024-07-01 12:12:44 DEBUG Process-1[reservation_monitor:170]: Lock acquired
2024-07-01 12:12:44 DEBUG Process-1[reservation_monitor:192]: Retrieving reservations for account
2024-07-01 12:12:44 DEBUG Process-1[webdriver:126]: Starting webdriver for current session
2024-07-01 12:12:45 DEBUG Process-1[webdriver:143]: Using browser version: 126.0.6478.127
2024-07-01 12:12:45 DEBUG Process-1[webdriver:147]: Loading Southwest home page (this may take a moment)
2024-07-01 12:12:52 DEBUG Process-1[webdriver:100]: Logging into account to get a list of reservations and valid headers
2024-07-01 12:12:54 DEBUG Process-1[webdriver:177]: Waiting for headers_set to be set
2024-07-01 12:12:54 DEBUG Process-1[webdriver:181]: headers_set set successfully
2024-07-01 12:12:55 DEBUG Process-1[webdriver:177]: Waiting for login_request_id to be set
2024-07-01 12:12:55 DEBUG Process-1[webdriver:169]: Login response has been received
2024-07-01 12:12:56 DEBUG Process-1[webdriver:181]: login_request_id set successfully
2024-07-01 12:12:56 DEBUG Process-1[webdriver:237]: Logging in failed for an unknown reason
2024-07-01 12:12:56 WARNING Process-1[reservation_monitor:201]: Encountered a Too Many Requests error while logging in. Skipping reservation retrieval
2024-07-01 12:12:56 DEBUG Process-1[reservation_monitor:181]: Lock released
2024-07-01 12:12:56 DEBUG Process-1[reservation_monitor:130]: Sleeping for 86387 seconds
^C2024-07-01 12:12:58 INFO MainProcess[main:122]:
Ctrl+C pressed. Stopping all check-ins

@jdholtz

This comment was marked as resolved.

@natecodes

This comment was marked as resolved.

@mickgiles
Copy link

I am using the latest develop for several upcoming flights and I have noticed the following on startup scheduling the checkin...

  1. Using Docker with the image jdholtz/auto-southwest-check-in I get 403 failures on both accounts and reservations
  2. Using Docker building from the Dockerfile in develop I do not get any errors
  3. Running the script on bare metal (Ubuntu) I get no errors

Will post updates when checkin time comes

Error I get from the docker image is...
auto-southwest | 2024-07-02 01:34:13 DEBUG Process-6[reservation_monitor:86]: Scheduling flight check-ins for 1 reservations
auto-southwest | 2024-07-02 01:34:13 DEBUG Process-6[checkin_scheduler:79]: Retrieving reservation information
auto-southwest | 2024-07-02 01:34:28 DEBUG Process-6[utils:58]: Failed to make request after 20 attempts: Forbidden 403
auto-southwest | 2024-07-02 01:34:28 DEBUG Process-6[utils:60]: Response body: {
auto-southwest | "code": 403050700
auto-southwest | }

@jdholtz
Copy link
Owner Author

jdholtz commented Jul 2, 2024

@mickgiles the logs for the develop image should show Request error on attempt ... Sleeping for ... seconds until next attempt multiple times before failing completely. Could you make sure you've pulled the latest develop image (just run docker pull jdholtz/auto-southwest-check-in:develop again)?

@jdholtz

This comment was marked as resolved.

@natecodes

This comment was marked as resolved.

@jdholtz

This comment was marked as resolved.

@mickgiles
Copy link

mickgiles commented Jul 2, 2024

@mickgiles the logs for the develop image should show Request error on attempt ... Sleeping for ... seconds until next attempt multiple times before failing completely. Could you make sure you've pulled the latest develop image (just run docker pull jdholtz/auto-southwest-check-in:develop again)?

using this image most succeeded but 1 reservation failed with the following logs

Logs

auto-southwest | 2024-07-02 02:18:39 DEBUG Process-7[checkin_scheduler:79]: Retrieving reservation information
auto-southwest | 2024-07-02 02:18:40 DEBUG Process-7[utils:68]: Request error on attempt 1: Bad Request 400. Sleeping for 2.87 seconds until next attempt
auto-southwest | 2024-07-02 02:18:43 DEBUG Process-7[utils:68]: Request error on attempt 2: Bad Request 400. Sleeping for 2.41 seconds until next attempt
auto-southwest | 2024-07-02 02:18:46 DEBUG Process-7[utils:68]: Request error on attempt 3: Forbidden 403. Sleeping for 1.53 seconds until next attempt
auto-southwest | 2024-07-02 02:18:48 DEBUG Process-7[utils:68]: Request error on attempt 4: Bad Request 400. Sleeping for 2.96 seconds until next attempt
auto-southwest | 2024-07-02 02:18:51 DEBUG Process-7[utils:68]: Request error on attempt 5: Bad Request 400. Sleeping for 1.91 seconds until next attempt
auto-southwest | 2024-07-02 02:18:53 DEBUG Process-7[utils:68]: Request error on attempt 6: Bad Request 400. Sleeping for 2.95 seconds until next attempt
auto-southwest | 2024-07-02 02:18:56 DEBUG Process-7[utils:68]: Request error on attempt 7: Bad Request 400. Sleeping for 2.56 seconds until next attempt
auto-southwest | 2024-07-02 02:18:59 DEBUG Process-7[utils:68]: Request error on attempt 8: Forbidden 403. Sleeping for 2.50 seconds until next attempt
auto-southwest | 2024-07-02 02:19:02 DEBUG Process-7[utils:68]: Request error on attempt 9: Bad Request 400. Sleeping for 2.64 seconds until next attempt
auto-southwest | 2024-07-02 02:19:05 DEBUG Process-7[utils:68]: Request error on attempt 10: Forbidden 403. Sleeping for 2.30 seconds until next attempt
auto-southwest | 2024-07-02 02:19:08 DEBUG Process-7[utils:68]: Request error on attempt 11: Bad Request 400. Sleeping for 1.20 seconds until next attempt
auto-southwest | 2024-07-02 02:19:09 DEBUG Process-7[utils:68]: Request error on attempt 12: Bad Request 400. Sleeping for 2.45 seconds until next attempt
auto-southwest | 2024-07-02 02:19:12 DEBUG Process-7[utils:68]: Request error on attempt 13: Forbidden 403. Sleeping for 1.99 seconds until next attempt
auto-southwest | 2024-07-02 02:19:14 DEBUG Process-7[utils:68]: Request error on attempt 14: Bad Request 400. Sleeping for 1.05 seconds until next attempt
auto-southwest | 2024-07-02 02:19:16 DEBUG Process-7[utils:68]: Request error on attempt 15: Bad Request 400. Sleeping for 2.38 seconds until next attempt
auto-southwest | 2024-07-02 02:19:19 DEBUG Process-7[utils:68]: Request error on attempt 16: Bad Request 400. Sleeping for 1.42 seconds until next attempt
auto-southwest | 2024-07-02 02:19:21 DEBUG Process-7[utils:68]: Request error on attempt 17: Bad Request 400. Sleeping for 1.86 seconds until next attempt
auto-southwest | 2024-07-02 02:19:23 DEBUG Process-7[utils:68]: Request error on attempt 18: Bad Request 400. Sleeping for 1.72 seconds until next attempt
auto-southwest | 2024-07-02 02:19:25 DEBUG Process-7[utils:68]: Request error on attempt 19: Bad Request 400. Sleeping for 1.64 seconds until next attempt
auto-southwest | 2024-07-02 02:19:27 DEBUG Process-7[utils:68]: Request error on attempt 20: Bad Request 400. Sleeping for 1.79 seconds until next attempt
auto-southwest | 2024-07-02 02:19:29 DEBUG Process-7[utils:74]: Failed to make request after 20 attempts: Bad Request 400
auto-southwest | 2024-07-02 02:19:29 DEBUG Process-7[utils:75]: Response body: {"code":400310456,"message":"Record Locator must have six characters","messageKey":"VALIDATION__AIR_RESERVATION__RECORD_LOCATOR__LENGTH","header":null,"httpStatusCode":"BAD_REQUEST","requestId":"no-exp-id:0.c417dd17.1719886767.5a4520fe:mweb","infoList":[{"key":"recordLocator","value":"Record Locator must have six characters"}]}
auto-southwest | 2024-07-02 02:19:29 DEBUG Process-7[checkin_scheduler:85]: Failed to retrieve reservation info. Error: Bad Request 400. Exiting
auto-southwest | 2024-07-02 02:19:29 DEBUG Process-7[notification_handler:80]: Sending failed reservation retrieval notification...
auto-southwest | Failed to retrieve reservation for -u southwest.py with confirmation number python3. Reason: Bad Request 400.
auto-southwest | Make sure the reservation information is correct and try again.

@natecodes

This comment was marked as resolved.

@jdholtz
Copy link
Owner Author

jdholtz commented Jul 2, 2024

using this image most succeeded but 1 reservation failed with the following logs

@mickgiles it looks like you typed in the wrong confirmation number (the debug logs say it must be six characters long). Double check the info you put in to make sure it is correct.

@jdholtz

This comment was marked as resolved.

@mickgiles
Copy link

mickgiles commented Jul 2, 2024

using this image most succeeded but 1 reservation failed with the following logs

@mickgiles it looks like you typed in the wrong confirmation number (the debug logs say it must be six characters long). Double check the info you put in to make sure it is correct.

It works fine running on bare metal with the same config
A second start of the same container didn't yield that error but the reservations worked but the accounts failed with this error

Logs

auto-southwest | 2024-07-02 02:38:06 DEBUG Process-1[webdriver:177]: Waiting for trips_request_id to be set
auto-southwest | 2024-07-02 02:38:06 DEBUG Process-1[webdriver:181]: trips_request_id set successfully
auto-southwest | 2024-07-02 02:38:06 DEBUG Process-1[reservation_monitor:211]: Successfully retrieved 2 reservations
auto-southwest | 2024-07-02 02:38:06 DEBUG Process-1[reservation_monitor:86]: Scheduling flight check-ins for 2 reservations
auto-southwest | 2024-07-02 02:38:06 DEBUG Process-1[checkin_scheduler:79]: Retrieving reservation information
auto-southwest | 2024-07-02 02:38:06 DEBUG Process-1[utils:68]: Request error on attempt 1: Forbidden 403. Sleeping for 2.51 seconds until next attempt
auto-southwest | 2024-07-02 02:38:09 DEBUG Process-1[utils:68]: Request error on attempt 2: Forbidden 403. Sleeping for 2.18 seconds until next attempt
auto-southwest | 2024-07-02 02:38:11 DEBUG Process-1[utils:68]: Request error on attempt 3: Forbidden 403. Sleeping for 2.60 seconds until next attempt
auto-southwest | 2024-07-02 02:38:14 DEBUG Process-1[utils:68]: Request error on attempt 4: Forbidden 403. Sleeping for 1.57 seconds until next attempt
auto-southwest | 2024-07-02 02:38:16 DEBUG Process-1[utils:68]: Request error on attempt 5: Forbidden 403. Sleeping for 1.15 seconds until next attempt
auto-southwest | 2024-07-02 02:38:18 DEBUG Process-1[utils:68]: Request error on attempt 6: Forbidden 403. Sleeping for 2.13 seconds until next attempt
auto-southwest | 2024-07-02 02:38:20 DEBUG Process-1[utils:68]: Request error on attempt 7: Forbidden 403. Sleeping for 2.23 seconds until next attempt
auto-southwest | 2024-07-02 02:38:22 DEBUG Process-1[utils:68]: Request error on attempt 8: Forbidden 403. Sleeping for 1.63 seconds until next attempt
auto-southwest | 2024-07-02 02:38:24 DEBUG Process-1[utils:68]: Request error on attempt 9: Forbidden 403. Sleeping for 3.00 seconds until next attempt
auto-southwest | 2024-07-02 02:38:28 DEBUG Process-1[utils:68]: Request error on attempt 10: Forbidden 403. Sleeping for 1.57 seconds until next attempt
auto-southwest | 2024-07-02 02:38:29 DEBUG Process-1[utils:68]: Request error on attempt 11: Forbidden 403. Sleeping for 2.33 seconds until next attempt
auto-southwest | 2024-07-02 02:38:32 DEBUG Process-1[utils:68]: Request error on attempt 12: Forbidden 403. Sleeping for 1.04 seconds until next attempt
auto-southwest | 2024-07-02 02:38:33 DEBUG Process-1[utils:68]: Request error on attempt 13: Forbidden 403. Sleeping for 1.59 seconds until next attempt
auto-southwest | 2024-07-02 02:38:35 DEBUG Process-1[utils:68]: Request error on attempt 14: Forbidden 403. Sleeping for 1.63 seconds until next attempt
auto-southwest | 2024-07-02 02:38:37 DEBUG Process-1[utils:68]: Request error on attempt 15: Forbidden 403. Sleeping for 2.46 seconds until next attempt
auto-southwest | 2024-07-02 02:38:40 DEBUG Process-1[utils:68]: Request error on attempt 16: Forbidden 403. Sleeping for 1.00 seconds until next attempt
auto-southwest | 2024-07-02 02:38:41 DEBUG Process-1[utils:68]: Request error on attempt 17: Forbidden 403. Sleeping for 2.20 seconds until next attempt
auto-southwest | 2024-07-02 02:38:43 DEBUG Process-1[utils:68]: Request error on attempt 18: Forbidden 403. Sleeping for 2.54 seconds until next attempt
auto-southwest | 2024-07-02 02:38:46 DEBUG Process-1[utils:68]: Request error on attempt 19: Forbidden 403. Sleeping for 2.71 seconds until next attempt
auto-southwest | 2024-07-02 02:38:49 DEBUG Process-1[utils:68]: Request error on attempt 20: Forbidden 403. Sleeping for 2.34 seconds until next attempt
auto-southwest | 2024-07-02 02:38:51 DEBUG Process-1[utils:74]: Failed to make request after 20 attempts: Forbidden 403
auto-southwest | 2024-07-02 02:38:51 DEBUG Process-1[utils:75]: Response body: {
auto-southwest | "code": 403050700
auto-southwest | }
auto-southwest | 2024-07-02 02:38:51 DEBUG Process-1[checkin_scheduler:85]: Failed to retrieve reservation info. Error: Forbidden 403. Exiting
auto-southwest | 2024-07-02 02:38:51 DEBUG Process-1[notification_handler:80]: Sending failed reservation retrieval notification...

@natecodes

This comment was marked as resolved.

@natecodes
Copy link
Contributor

So as of right now is the login functionality not supposed to work at all?

@jdholtz
Copy link
Owner Author

jdholtz commented Jul 3, 2024

So as of right now is the login functionality not supposed to work at all?

No, it’s supposed to and has been working for me. Not sure at the moment why you are having issues.

@hildebrau
Copy link

So as of right now is the login functionality not supposed to work at all?

Do you have any special characters in your account password? If so, try removing them first.

@astrostl
Copy link

astrostl commented Jul 4, 2024

I'm trying to run this against two reservations. One works, the other consistently yields this. Latest develop.

2024-07-04 04:14:40 DEBUG Process-1[webdriver:147]: Loading Southwest home page (this may take a moment)
2024-07-04 04:14:48 DEBUG Process-1[webdriver:84]: Waiting for valid headers
2024-07-04 04:14:48 DEBUG Process-1[webdriver:178]: Waiting for headers_set to be set
2024-07-04 04:14:48 DEBUG Process-1[webdriver:182]: headers_set set successfully
2024-07-04 04:14:48 DEBUG Process-1[reservation_monitor:86]: Scheduling flight check-ins for 1 reservations
2024-07-04 04:14:48 DEBUG Process-1[checkin_scheduler:79]: Retrieving reservation information
2024-07-04 04:14:49 DEBUG Process-1[utils:68]: Request error on attempt 1: Forbidden 403. Sleeping for 2.69 seconds until next attempt
2024-07-04 04:14:53 DEBUG Process-1[utils:68]: Request error on attempt 2: Forbidden 403. Sleeping for 2.29 seconds until next attempt
2024-07-04 04:14:56 DEBUG Process-1[utils:68]: Request error on attempt 3: Forbidden 403. Sleeping for 2.39 seconds until next attempt
2024-07-04 04:15:00 DEBUG Process-1[utils:68]: Request error on attempt 4: Bad Request 400. Sleeping for 2.76 seconds until next attempt
2024-07-04 04:15:04 DEBUG Process-1[utils:68]: Request error on attempt 5: Forbidden 403. Sleeping for 2.74 seconds until next attempt
2024-07-04 04:15:08 DEBUG Process-1[utils:68]: Request error on attempt 6: Forbidden 403. Sleeping for 1.56 seconds until next attempt
2024-07-04 04:15:11 DEBUG Process-1[utils:68]: Request error on attempt 7: Forbidden 403. Sleeping for 2.50 seconds until next attempt
2024-07-04 04:15:14 DEBUG Process-1[utils:68]: Request error on attempt 8: Forbidden 403. Sleeping for 2.25 seconds until next attempt
2024-07-04 04:15:18 DEBUG Process-1[utils:68]: Request error on attempt 9: Bad Request 400. Sleeping for 2.87 seconds until next attempt
2024-07-04 04:15:22 DEBUG Process-1[utils:68]: Request error on attempt 10: Forbidden 403. Sleeping for 2.80 seconds until next attempt
2024-07-04 04:15:26 DEBUG Process-1[utils:68]: Request error on attempt 11: Bad Request 400. Sleeping for 1.62 seconds until next attempt
2024-07-04 04:15:29 DEBUG Process-1[utils:68]: Request error on attempt 12: Forbidden 403. Sleeping for 1.77 seconds until next attempt
2024-07-04 04:15:32 DEBUG Process-1[utils:68]: Request error on attempt 13: Bad Request 400. Sleeping for 1.44 seconds until next attempt
2024-07-04 04:15:35 DEBUG Process-1[utils:68]: Request error on attempt 14: Bad Request 400. Sleeping for 2.16 seconds until next attempt
2024-07-04 04:15:38 DEBUG Process-1[utils:68]: Request error on attempt 15: Forbidden 403. Sleeping for 1.28 seconds until next attempt
2024-07-04 04:15:41 DEBUG Process-1[utils:68]: Request error on attempt 16: Bad Request 400. Sleeping for 1.15 seconds until next attempt
2024-07-04 04:15:43 DEBUG Process-1[utils:68]: Request error on attempt 17: Forbidden 403. Sleeping for 2.23 seconds until next attempt
2024-07-04 04:15:46 DEBUG Process-1[utils:68]: Request error on attempt 18: Forbidden 403. Sleeping for 1.84 seconds until next attempt
2024-07-04 04:15:49 DEBUG Process-1[utils:68]: Request error on attempt 19: Forbidden 403. Sleeping for 2.48 seconds until next attempt
2024-07-04 04:15:53 DEBUG Process-1[utils:68]: Request error on attempt 20: Forbidden 403. Sleeping for 1.67 seconds until next attempt
2024-07-04 04:15:55 DEBUG Process-1[utils:74]: Failed to make request after 20 attempts: Forbidden 403

UPDATE: the login method DOES seem to work for the broken one.

Reservation one: login works, confirmation doesn't
Reservation two: confirmation works, login doesn't

@jdholtz
Copy link
Owner Author

jdholtz commented Jul 5, 2024

@dmytrokoren, do you think adding a random delay before clicking the first link (js_click after open) will help lower login detection errors? I unfortunately can't reproduce this (and not sure if you can either), so I can't test this.

If anyone else is running into this issue and wants to try the above suggestion, you can add the following on line 152 of lib/webdriver.py. Make sure you are on the latest develop commit:

         self._take_debug_screenshot(driver, "after_page_load.png")
+        time.sleep(random_sleep_duration(3, 8))
         driver.js_click("(//div[@data-qa='placement-link'])[2]")

@natecodes
Copy link
Contributor

Log

(southwest-venv) ➜ auto-southwest-check-in git:(develop) ✗ python3 southwest.py --verbose
2024-07-09 20:16:58 DEBUG MainProcess[log:24]: Initialized the application
2024-07-09 20:16:58 DEBUG MainProcess[main:113]: Auto-Southwest Check-In v7.5
2024-07-09 20:16:58 DEBUG MainProcess[main:71]: Called with 0 arguments
2024-07-09 20:16:58 DEBUG MainProcess[config:132]: Initializing configuration file
2024-07-09 20:16:58 DEBUG MainProcess[config:161]: Reading the configuration file
2024-07-09 20:16:58 DEBUG MainProcess[config:174]: Reading configuration from environment variables
2024-07-09 20:16:58 DEBUG MainProcess[config:60]: Setting check fares to True
2024-07-09 20:16:58 DEBUG MainProcess[config:75]: Setting retrieval interval to 24 hours
2024-07-09 20:16:58 DEBUG MainProcess[config:109]: Setting notification level to <NotificationLevel.NOTICE: 1>
2024-07-09 20:16:58 DEBUG MainProcess[config:122]: Using 0 notification services
2024-07-09 20:16:58 DEBUG MainProcess[config:144]: Creating configurations for 1 accounts
2024-07-09 20:16:58 DEBUG MainProcess[config:151]: Creating configurations for 0 reservations
2024-07-09 20:16:58 INFO MainProcess[main:97]: Monitoring 1 account and 0 reservations

2024-07-09 20:16:58 DEBUG Process-1[reservation_monitor:58]: Acquiring lock...
2024-07-09 20:16:58 DEBUG Process-1[reservation_monitor:60]: Lock acquired
2024-07-09 20:16:58 DEBUG Process-1[reservation_monitor:198]: Retrieving reservations for account
2024-07-09 20:16:58 DEBUG Process-1[webdriver:128]: Starting webdriver for current session
2024-07-09 20:16:59 DEBUG Process-1[webdriver:145]: Using browser version: 126.0.6478.127
2024-07-09 20:16:59 DEBUG Process-1[webdriver:149]: Loading Southwest home page (this may take a moment)
2024-07-09 20:17:03 DEBUG Process-1[webdriver:102]: Logging into account to get a list of reservations and valid headers
Process Process-1:
Traceback (most recent call last):
File "/opt/homebrew/Cellar/python@3.9/3.9.18/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap
self.run()
File "/opt/homebrew/Cellar/python@3.9/3.9.18/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/Users/nathan/Desktop/auto-southwest-check-in/lib/reservation_monitor.py", line 44, in monitor
self._monitor()
File "/Users/nathan/Desktop/auto-southwest-check-in/lib/reservation_monitor.py", line 62, in _monitor
should_exit = self._perform_check()
File "/Users/nathan/Desktop/auto-southwest-check-in/lib/reservation_monitor.py", line 180, in _perform_check
reservations, skip_scheduling = self._get_reservations()
File "/Users/nathan/Desktop/auto-southwest-check-in/lib/reservation_monitor.py", line 202, in _get_reservations
reservations = webdriver.get_reservations(self)
File "/Users/nathan/Desktop/auto-southwest-check-in/lib/webdriver.py", line 108, in get_reservations
driver.click(".login-button--box")
File "/Users/nathan/Desktop/auto-southwest-check-in/southwest-venv/lib/python3.9/site-packages/seleniumbase/core/sb_driver.py", line 59, in click
page_actions.click(self.driver, *args, **kwargs)
File "/Users/nathan/Desktop/auto-southwest-check-in/southwest-venv/lib/python3.9/site-packages/seleniumbase/fixtures/page_actions.py", line 1510, in click
element.click()
File "/Users/nathan/Desktop/auto-southwest-check-in/southwest-venv/lib/python3.9/site-packages/selenium/webdriver/remote/webelement.py", line 94, in click
self._execute(Command.CLICK_ELEMENT)
File "/Users/nathan/Desktop/auto-southwest-check-in/southwest-venv/lib/python3.9/site-packages/selenium/webdriver/remote/webelement.py", line 395, in _execute
return self._parent.execute(command, params)
File "/Users/nathan/Desktop/auto-southwest-check-in/southwest-venv/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 347, in execute
self.error_handler.check_response(response)
File "/Users/nathan/Desktop/auto-southwest-check-in/southwest-venv/lib/python3.9/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 ... is not clickable at point (336, 27). Other element would receive the click:


(Session info: chrome=126.0.6478.127)
Stacktrace:
0 uc_driver 0x0000000100d5c0e8 uc_driver + 5169384
1 uc_driver 0x0000000100d53fba uc_driver + 5136314
2 uc_driver 0x00000001008d036c uc_driver + 402284
3 uc_driver 0x00000001009246b6 uc_driver + 747190
4 uc_driver 0x00000001009224e8 uc_driver + 738536
5 uc_driver 0x000000010091fef7 uc_driver + 728823
6 uc_driver 0x000000010091ed12 uc_driver + 724242
7 uc_driver 0x0000000100912562 uc_driver + 673122
8 uc_driver 0x0000000100940ab2 uc_driver + 862898
9 uc_driver 0x0000000100911ed8 uc_driver + 671448
10 uc_driver 0x0000000100940c6e uc_driver + 863342
11 uc_driver 0x000000010095ff57 uc_driver + 991063
12 uc_driver 0x0000000100940853 uc_driver + 862291
13 uc_driver 0x00000001009105c6 uc_driver + 665030
14 uc_driver 0x0000000100910e4e uc_driver + 667214
15 uc_driver 0x0000000100d1ed00 uc_driver + 4918528
16 uc_driver 0x0000000100d23cfd uc_driver + 4939005
17 uc_driver 0x0000000100d243d5 uc_driver + 4940757
18 uc_driver 0x0000000100cffde4 uc_driver + 4791780
19 uc_driver 0x0000000100d246c9 uc_driver + 4941513
20 uc_driver 0x0000000100cf15b4 uc_driver + 4732340
21 uc_driver 0x0000000100d44898 uc_driver + 5073048
22 uc_driver 0x0000000100d44a57 uc_driver + 5073495
23 uc_driver 0x0000000100d53b6e uc_driver + 5135214
24 libsystem_pthread.dylib 0x00007ff80745818b _pthread_start + 99
25 libsystem_pthread.dylib 0x00007ff807453ae3 thread_start + 15

@dmytrokoren
Copy link
Contributor

Anyone try this image, see if it helps: docker pull dmytrokoren/auto-southwest-check-in:develop

@natecodes
Copy link
Contributor

Still getting a Too Many Requests error on the latest version of develop. Will try the docker image

@dmytrokoren
Copy link
Contributor

Still getting a Too Many Requests error on the latest version of develop. Will try the docker image

It most likely due to your IP address. I had the same issue, I turned off my VPN and it started working. (this applied to running locally or docker).

@dmytrokoren
Copy link
Contributor

I just had a successful check in - Position A39

image

@natecodes
Copy link
Contributor

I just had a successful check in - Position A39

image

Have you had any successful logins? I haven't been able to login successfully for the past 10 commits on develop.

@dmytrokoren
Copy link
Contributor

@jdholtz - develop branch works great for me on the initial run... lets see how it goes with intervals for fare check. ill update

@rxmxr
Copy link

rxmxr commented Oct 6, 2024

I changed my config to check once every 24 hours...it worked for 3 days and then failed yesterday with 403s on every check. I just restarted it and it's again failing every time (Windows/Docker).

@jdholtz
Copy link
Owner Author

jdholtz commented Oct 6, 2024

I changed my config to check once every 24 hours...it worked for 3 days and then failed yesterday with 403s on every check. I just restarted it and it's again failing every time (Windows/Docker).

Are these using the latest develop changes/image? There was a recent PR that was merged that should help avoid 403/429s.

@rxmxr
Copy link

rxmxr commented Oct 6, 2024

I changed my config to check once every 24 hours...it worked for 3 days and then failed yesterday with 403s on every check. I just restarted it and it's again failing every time (Windows/Docker).

Are these using the latest develop changes/image? There was a recent PR that was merged that should help avoid 403/429s.

I have been using the latest version of dmytrokoren/alpha-legacy-windock.

@tranbot
Copy link

tranbot commented Oct 10, 2024

@dmytrokoren - I've been using the latest version of dmytrokoren/auto-southwest-check-in:alpha-legacy-windock and I'm getting this error when trying to look for check in banner:

2024-10-10 03:40:37 ERROR Process-1[webdriver:186]: WebDriver initialization failed: Message:
Element {//*[@alt='Check in banner']} was not present after 30 seconds!

Process Process-1:
Traceback (most recent call last):
File "/usr/local/lib/python3.12/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/usr/local/lib/python3.12/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/app/lib/reservation_monitor.py", line 54, in monitor
self._monitor()
File "/app/lib/reservation_monitor.py", line 72, in _monitor
should_exit = self._check()
^^^^^^^^^^^^^
File "/app/lib/reservation_monitor.py", line 191, in _check
reservations, skip_scheduling = self._get_reservations()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/lib/reservation_monitor.py", line 216, in _get_reservations
reservations = webdriver.get_reservations(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/lib/webdriver.py", line 110, in get_reservations
driver.add_cdp_listener("Network.responseReceived", self._login_listener)
^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'add_cdp_listener'

@dmytrokoren
Copy link
Contributor

Try again either one of docker images..

@mickgiles
Copy link

using alpha-legacy-windock I get the following error. but I don't get it consistently, only occasionally

auto-southwest    | 2024-10-23 15:15:26 DEBUG Process-4[webdriver:294]: Started virtual display successfully
auto-southwest    | 2024-10-23 15:15:27 DEBUG Process-4[webdriver:152]: Using browser version: 119.0.6045.159
auto-southwest    | 2024-10-23 15:15:27 DEBUG Process-4[webdriver:156]: Loading Southwest home page (this may take a moment)
auto-southwest    | Process Process-4:
auto-southwest    | Traceback (most recent call last):
auto-southwest    |   File "/usr/local/lib/python3.12/multiprocessing/process.py", line 314, in _bootstrap
auto-southwest    |     self.run()
auto-southwest    |   File "/usr/local/lib/python3.12/multiprocessing/process.py", line 108, in run
auto-southwest    |     self._target(*self._args, **self._kwargs)
auto-southwest    |   File "/app/lib/reservation_monitor.py", line 54, in monitor
auto-southwest    |     self._monitor()
auto-southwest    |   File "/app/lib/reservation_monitor.py", line 72, in _monitor
auto-southwest    |     should_exit = self._check()
auto-southwest    |                   ^^^^^^^^^^^^^
auto-southwest    |   File "/app/lib/reservation_monitor.py", line 93, in _check
auto-southwest    |     self.checkin_scheduler.refresh_headers()
auto-southwest    |   File "/app/lib/checkin_scheduler.py", line 50, in refresh_headers
auto-southwest    |     webdriver.set_headers()
auto-southwest    |   File "/app/lib/webdriver.py", line 86, in set_headers
auto-southwest    |     driver = self._get_driver()
auto-southwest    |              ^^^^^^^^^^^^^^^^^^
auto-southwest    |   File "/app/lib/webdriver.py", line 159, in _get_driver
auto-southwest    |     driver.click("(//div[@data-qa='placement-link'])[2]")
auto-southwest    |   File "/app/.local/lib/python3.12/site-packages/seleniumbase/core/sb_driver.py", line 58, in click
auto-southwest    |     page_actions.click(self.driver, *args, **kwargs)
auto-southwest    |   File "/app/.local/lib/python3.12/site-packages/seleniumbase/fixtures/page_actions.py", line 1533, in click
auto-southwest    |     element.click()
auto-southwest    |   File "/app/.local/lib/python3.12/site-packages/selenium/webdriver/remote/webelement.py", line 94, in click
auto-southwest    |     self._execute(Command.CLICK_ELEMENT)
auto-southwest    |   File "/app/.local/lib/python3.12/site-packages/selenium/webdriver/remote/webelement.py", line 395, in _execute
auto-southwest    |     return self._parent.execute(command, params)
auto-southwest    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
auto-southwest    |   File "/app/.local/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 354, in execute
auto-southwest    |     self.error_handler.check_response(response)
auto-southwest    |   File "/app/.local/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
auto-southwest    |     raise exception_class(message, screen, stacktrace)
auto-southwest    | selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <div data-qa="placement-link">...</div> is not clickable at point (632, 696). Other element would receive the click: <div class="backdrop visible active"></div>
auto-southwest    |   (Session info: chrome=119.0.6045.159)
auto-southwest    | 

@sevenlayercookie
Copy link

@dmytrokoren wasn't clear to me in the thread -- is your fork further along/working more consistently than jdholtz's develop branch?

@babehboi
Copy link

babehboi commented Oct 28, 2024

@dmytrokoren looks like the 429 errors are rearing itself again. That or the timing while waiting for headers. Let me know if there's anything you'd like me to try on my end.

I find it interesting though that when I checked to see if their flights got checked in it appeared to have checked in just fine? Or could be coincidence, who knows.

I should add that several hours before the flight checkin, everything regarding farechecks was working correctly, up until check-in time. And since then, all has failed, so I wonder if something occurred today?

@rxmxr
Copy link

rxmxr commented Oct 30, 2024

alpha-legacy-windock had been working for me for awhile. Then it started working only on the initial check; every subsequent 24 hour check failed.

Now it fails even on the initial check: "Timeout while refreshing headers. Skipping reservation retrieval"

@sevenlayercookie
Copy link

alpha-legacy-windock had been working for me for awhile. Then it started working only on the initial check; every subsequent 24 hour check failed.

Now it fails even on the initial check: "Timeout while refreshing headers. Skipping reservation retrieval"

The fix in #313 fixed this issue for me.

@babehboi
Copy link

@sevenlayercookie thanks I just saw that fix as well. It definitely works I updated my fork to implement it.

@dmytrokoren
Copy link
Contributor

Updated: dmytrokoren/auto-southwest-check-in:develop

as from previous issue headers_urls has been changes in this image and user_agent has been removed.

@stiggy87
Copy link

stiggy87 commented Nov 25, 2024

I am still getting the 429 error, even with latest develop branch.

@dmytrokoren I tried your docker images, and they are showing the same issues with the 429.

This is on Windows via Docker. When I run this on Linux (Fedora 41), things are working fine. Could the docker images need some work?

@studgeek
Copy link

I had the 400 on first attempt by the script...

$ pipenv run python3 southwest.py XXXXXX My Name -v
2024-12-21 11:28:31 DEBUG MainProcess[log:24]: Initialized the application
2024-12-21 11:28:31 DEBUG MainProcess[main:113]: Auto-Southwest Check-In v8.1
2024-12-21 11:28:31 DEBUG MainProcess[main:71]: Called with 3 arguments
2024-12-21 11:28:31 DEBUG MainProcess[config:143]: Initializing configuration file
2024-12-21 11:28:31 DEBUG MainProcess[config:172]: Reading the configuration file
2024-12-21 11:28:31 DEBUG MainProcess[config:176]: No configuration file found. Using defaults
2024-12-21 11:28:31 DEBUG MainProcess[config:185]: Reading configuration from environment variables
2024-12-21 11:28:31 DEBUG MainProcess[main:84]: Adding reservation through CLI arguments
...
2024-12-21 17:25:05 DEBUG Process-1:1[checkin_handler:119]: Sleeping until check-in: 1794 seconds...
Checking in to flight from 'Oakland' to 'Phoenix' for My Name

2024-12-21 17:55:00 DEBUG Process-1:1[checkin_handler:169]: Attempting to check in
2024-12-21 17:55:00 DEBUG Process-1:1[checkin_handler:204]: Making first POST request to check in
2024-12-21 17:55:04 DEBUG Process-1:1[utils:90]: Request error on attempt 1: Bad Request (400). Sleeping for 0.50 seconds until next attempt
2024-12-21 17:55:06 DEBUG Process-1:1[utils:70]: Successfully made request after 2 attempts
2024-12-21 17:55:06 DEBUG Process-1:1[checkin_handler:211]: Making second POST request to check in
2024-12-21 17:55:08 DEBUG Process-1:1[utils:70]: Successfully made request after 1 attempts
2024-12-21 17:55:08 DEBUG Process-1:1[checkin_handler:179]: Successfully checked in after 1 attempts
2024-12-21 17:55:08 DEBUG Process-1:1[notification_handler:119]: Sending successful check-in notification...
M$ git l2 -1
* 2fde441 - Sun, 24 Nov 2024 20:00:00 -0600 (4 weeks ago) (HEAD, origin/develop)
|           Update changelog to include JSON schema addition - jdholtz

@jdholtz
Copy link
Owner Author

jdholtz commented Dec 22, 2024

I had the 400 on first attempt by the script...

This means that the check-in attempt was too early (as it went through in later attempts). I’ve almost always seen this happen on the first attempt as the time isn’t exactly synchronized between the Southwest servers and NTP servers.

It would be a good experiment to try checking in a second or two after the minute to see if we can avoid this first attempt failure. This may then speed up the check-in as it takes ~4 seconds for the first attempt to report a failure before the script tries again.

@studgeek
Copy link

I had the 400 on first attempt by the script...

This means that the check-in attempt was too early (as it went through in later attempts). I’ve almost always seen this happen on the first attempt as the time isn’t exactly synchronized between the Southwest servers and NTP servers.

It would be a good experiment to try checking in a second or two after the minute to see if we can avoid this first attempt failure. This may then speed up the check-in as it takes ~4 seconds for the first attempt to report a failure before the script tries again.

I will try adding a second...

        checkin_time = self.flight.departure_time - timedelta(days=1) + timedelta(seconds=1)

@studgeek
Copy link

FYI, When trying to use latest develop with username/password I am seeing the 429. Using just confirmation number doesn't have any issues.

$ pipenv run python3 southwest.py -v 66463994

2024-12-29 15:19:43 DEBUG MainProcess[log:24]: Initialized the application
2024-12-29 15:19:43 DEBUG MainProcess[main:113]: Auto-Southwest Check-In v8.1
2024-12-29 15:19:43 DEBUG MainProcess[main:71]: Called with 2 arguments
2024-12-29 15:19:43 DEBUG MainProcess[config:143]: Initializing configuration file
2024-12-29 15:19:43 DEBUG MainProcess[config:172]: Reading the configuration file
2024-12-29 15:19:43 DEBUG MainProcess[config:176]: No configuration file found. Using defaults
2024-12-29 15:19:43 DEBUG MainProcess[config:185]: Reading configuration from environment variables
2024-12-29 15:19:43 DEBUG MainProcess[main:80]: Adding account through CLI arguments
2024-12-29 15:19:43 DEBUG MainProcess[config:155]: Creating configurations for 1 accounts
2024-12-29 15:19:43 INFO MainProcess[main:97]: Monitoring 1 account and 0 reservations

2024-12-29 15:19:44 DEBUG Process-1[reservation_monitor:68]: Acquiring lock...
2024-12-29 15:19:44 DEBUG Process-1[reservation_monitor:70]: Lock acquired
2024-12-29 15:19:44 DEBUG Process-1[reservation_monitor:209]: Retrieving reservations for account (max retries: 1)
2024-12-29 15:19:44 DEBUG Process-1[webdriver:131]: Starting webdriver for current session
2024-12-29 15:19:45 DEBUG Process-1[webdriver:154]: Using browser version: 131.0.6778.205
2024-12-29 15:19:45 DEBUG Process-1[webdriver:158]: Loading Southwest check-in page (this may take a moment)
2024-12-29 15:19:45 DEBUG Process-1[webdriver:105]: Logging into account to get a list of reservations and valid headers
2024-12-29 15:19:52 DEBUG Process-1[webdriver:188]: Waiting for headers_set to be set (timeout: 180 seconds)
2024-12-29 15:19:52 DEBUG Process-1[webdriver:202]: headers_set set successfully
2024-12-29 15:19:53 DEBUG Process-1[webdriver:188]: Waiting for login_request_id to be set (timeout: 180 seconds)
2024-12-29 15:19:54 DEBUG Process-1[webdriver:180]: Login response has been received
2024-12-29 15:19:54 DEBUG Process-1[webdriver:202]: login_request_id set successfully
2024-12-29 15:19:54 DEBUG Process-1[webdriver:258]: Logging in failed for an unknown reason
2024-12-29 15:19:54 DEBUG Process-1[reservation_monitor:238]: Encountered an error (status: 429) while logging in. Retrying
2024-12-29 15:19:54 DEBUG Process-1[reservation_monitor:242]: Waiting for 20 seconds before retrying
2024-12-29 15:20:14 DEBUG Process-1[webdriver:131]: Starting webdriver for current session
2024-12-29 15:20:15 DEBUG Process-1[webdriver:154]: Using browser version: 131.0.6778.205
2024-12-29 15:20:15 DEBUG Process-1[webdriver:158]: Loading Southwest check-in page (this may take a moment)
2024-12-29 15:20:16 DEBUG Process-1[webdriver:105]: Logging into account to get a list of reservations and valid headers
2024-12-29 15:20:23 DEBUG Process-1[webdriver:188]: Waiting for headers_set to be set (timeout: 180 seconds)
2024-12-29 15:20:23 DEBUG Process-1[webdriver:202]: headers_set set successfully
2024-12-29 15:20:23 DEBUG Process-1[webdriver:188]: Waiting for login_request_id to be set (timeout: 180 seconds)
2024-12-29 15:20:23 DEBUG Process-1[webdriver:180]: Login response has been received
2024-12-29 15:20:24 DEBUG Process-1[webdriver:202]: login_request_id set successfully
2024-12-29 15:20:24 DEBUG Process-1[webdriver:258]: Logging in failed for an unknown reason
2024-12-29 15:20:24 DEBUG Process-1[reservation_monitor:245]: Error (status: 429) persists. Skipping reservation retrieval
Notice: Encountered a Too Many Requests error while logging in for 66463994. Skipping reservation retrieval until next interval

2024-12-29 15:20:24 DEBUG Process-1[reservation_monitor:81]: Lock released
2024-12-29 15:20:24 DEBUG Process-1[reservation_monitor:154]: Sleeping for 86359 second

@studgeek
Copy link

I had the 400 on first attempt by the script...

Since it seems unrelated issue, I created separate issue for the 400 at check-in and copied context there.
#325

@jdholtz
Copy link
Owner Author

jdholtz commented Dec 31, 2024

FYI, When trying to use latest develop with username/password I am seeing the 429. Using just confirmation number doesn't have any issues.

I'm seeing the same behavior as well. I'll look into this.

@dmytrokoren
Copy link
Contributor

I don't have that issue in my repo dev branch.

@nuftjedi
Copy link

nuftjedi commented Jan 1, 2025

Confirmation Numbers working for me as well.
Username/Password hasn't worked in weeks other than maybe a random one off here or there.

@Royal2000H
Copy link

Royal2000H commented Jan 4, 2025

Sorry if not helpful, might the solution shown here help overcome these errors:

https://youtu.be/ji8F8ppY8bs?t=580 (Around 9:40 to 11:20)

I realize he's using requests in python as opposed to opening a headless browser, but perhaps whatever the curl cffi project is using to circumvent the issue can be replicated?

@jdholtz
Copy link
Owner Author

jdholtz commented Jan 5, 2025

I don't have that issue in my repo dev branch.

@dmytrokoren what branch is that called? Is it the most recently updated one, updated_webdriver?

https://youtu.be/ji8F8ppY8bs?t=580 (Around 9:40 to 11:20)

I realize he's using requests in python as opposed to opening a headless browser, but perhaps whatever the curl cffi project is using to circumvent the issue can be replicated?

That looks promising. I'll definitely look into this. Thanks a lot @Royal2000H!

@schmeed
Copy link

schmeed commented Jan 9, 2025

I'm receiving the DIV not clickable error. Not using Docker. I believe this is related to other issues listed in this thread?

2025-01-09 20:20:49 DEBUG MainProcess[log:24]: Initialized the application
2025-01-09 20:20:49 DEBUG MainProcess[main:113]: Auto-Southwest Check-In v8.1
2025-01-09 20:20:49 DEBUG MainProcess[main:71]: Called with 3 arguments
2025-01-09 20:20:49 DEBUG MainProcess[config:143]: Initializing configuration file
2025-01-09 20:20:49 DEBUG MainProcess[config:172]: Reading the configuration file
2025-01-09 20:20:49 DEBUG MainProcess[config:176]: No configuration file found. Using defaults
2025-01-09 20:20:49 DEBUG MainProcess[config:185]: Reading configuration from environment variables
2025-01-09 20:20:49 DEBUG MainProcess[main:84]: Adding reservation through CLI arguments
2025-01-09 20:20:49 DEBUG MainProcess[config:162]: Creating configurations for 1 reservations
2025-01-09 20:20:49 INFO MainProcess[main:97]: Monitoring 0 accounts and 1 reservation

2025-01-09 20:20:49 DEBUG Process-1[reservation_monitor:65]: Acquiring lock...
2025-01-09 20:20:49 DEBUG Process-1[reservation_monitor:67]: Lock acquired
2025-01-09 20:20:49 DEBUG Process-1[checkin_scheduler:48]: Refreshing headers for current session
2025-01-09 20:20:49 DEBUG Process-1[webdriver:130]: Starting webdriver for current session
2025-01-09 20:21:50 DEBUG Process-1[webdriver:152]: Using browser version: 131.0.6778.264
2025-01-09 20:21:50 DEBUG Process-1[webdriver:156]: Loading Southwest home page (this may take a moment)
Process Process-1:
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/schmeed/auto-southwest-check-in/lib/reservation_monitor.py", line 51, in monitor
self._monitor()
File "/home/schmeed/auto-southwest-check-in/lib/reservation_monitor.py", line 69, in _monitor
should_exit = self._check()
File "/home/schmeed/auto-southwest-check-in/lib/reservation_monitor.py", line 90, in _check
self.checkin_scheduler.refresh_headers()
File "/home/schmeed/auto-southwest-check-in/lib/checkin_scheduler.py", line 50, in refresh_headers
webdriver.set_headers()
File "/home/schmeed/auto-southwest-check-in/lib/webdriver.py", line 86, in set_headers
driver = self._get_driver()
File "/home/schmeed/auto-southwest-check-in/lib/webdriver.py", line 159, in _get_driver
driver.click("(//div[@Data-QA='placement-link'])[2]")
File "/home/schmeed/.local/lib/python3.10/site-packages/seleniumbase/core/sb_driver.py", line 74, in click
page_actions.click(self.driver, *args, **kwargs)
File "/home/schmeed/.local/lib/python3.10/site-packages/seleniumbase/fixtures/page_actions.py", line 1595, in click
element.click()
File "/home/schmeed/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py", line 94, in click
self._execute(Command.CLICK_ELEMENT)
File "/home/schmeed/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py", line 395, in _execute
return self._parent.execute(command, params)
File "/home/schmeed/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 380, in execute
self.error_handler.check_response(response)
File "/home/schmeed/.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

...
is not clickable at point (712, 836). Other element would receive the click:
...

(Session info: chrome=131.0.6778.264)
Stacktrace:
#0 0x5f9e9cf0e1fa
#1 0x5f9e9ca1e810
#2 0x5f9e9ca74206
#3 0x5f9e9ca7216d
#4 0x5f9e9ca6f885
#5 0x5f9e9ca6ea48
#6 0x5f9e9ca621f5
#7 0x5f9e9ca91582
#8 0x5f9e9ca61b38
#9 0x5f9e9ca9174e
#10 0x5f9e9cab0007
#11 0x5f9e9ca91323
#12 0x5f9e9ca5fde0
#13 0x5f9e9ca60dbe
#14 0x5f9e9ceda12b
#15 0x5f9e9cede0c7
#16 0x5f9e9cec76cc
#17 0x5f9e9cedec47
#18 0x5f9e9ceac67f
#19 0x5f9e9cefd288
#20 0x5f9e9cefd450
#21 0x5f9e9cf0d076
#22 0x79163e294ac3

@nuftjedi
Copy link

403 Errors when using reservation numbers since upgrading to 8.2. Eventually fails and quits after 20 attempts.

@yunhao-jiang
Copy link

Same issue here. Seems working after I set TZ to the location that corresponds to my IP address. The default TZ is UTC I believe. I am not sure is it related. In Docker environment.

Would it be possible to use something like undetected-chromedriver?

Log Here
2025-01-23 20:00:40 DEBUG MainProcess[log:24]: Initialized the application

2025-01-23 20:00:40 DEBUG MainProcess[main:116]: Auto-Southwest Check-In v8.2

2025-01-23 20:00:40 DEBUG MainProcess[main:70]: Called with 0 arguments

2025-01-23 20:00:40 DEBUG MainProcess[config:143]: Initializing configuration file

2025-01-23 20:00:40 DEBUG MainProcess[config:172]: Reading the configuration file

2025-01-23 20:00:40 DEBUG MainProcess[config:185]: Reading configuration from environment variables

2025-01-23 20:00:40 DEBUG MainProcess[config:133]: Using 1 notification services

2025-01-23 20:00:40 DEBUG MainProcess[config:155]: Creating configurations for 1 accounts

2025-01-23 20:00:40 INFO MainProcess[main:96]: Monitoring 1 account and 0 reservations

2025-01-23 20:00:40 DEBUG Process-1[reservation_monitor:68]: Acquiring lock...

2025-01-23 20:00:40 DEBUG Process-1[reservation_monitor:70]: Lock acquired

2025-01-23 20:00:40 DEBUG Process-1[reservation_monitor:209]: Retrieving reservations for account (max retries: 1)

2025-01-23 20:00:40 DEBUG Process-1[webdriver:131]: Starting webdriver for current session

2025-01-23 20:00:40 DEBUG Process-1[webdriver:295]: Started virtual display successfully

2025-01-23 20:00:43 DEBUG Process-1[webdriver:154]: Using browser version: 119.0.6045.159

2025-01-23 20:00:43 DEBUG Process-1[webdriver:158]: Loading Southwest check-in page (this may take a moment)

2025-01-23 20:00:50 DEBUG Process-1[webdriver:105]: Logging into account to get a list of reservations and valid headers

Process Process-1:

Traceback (most recent call last):

File "/usr/local/lib/python3.12/multiprocessing/process.py", line 314, in _bootstrap

  self.run()

File "/usr/local/lib/python3.12/multiprocessing/process.py", line 108, in run

  self._target(*self._args, **self._kwargs)

File "/app/lib/reservation_monitor.py", line 54, in monitor

  self._monitor()

File "/app/lib/reservation_monitor.py", line 72, in _monitor

  should_exit = self._check()

                ^^^^^^^^^^^^^

File "/app/lib/reservation_monitor.py", line 190, in _check

  reservations, skip_scheduling = self._get_reservations()

                                  ^^^^^^^^^^^^^^^^^^^^^^^^

File "/app/lib/reservation_monitor.py", line 215, in _get_reservations

  reservations = webdriver.get_reservations(self)

                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/app/lib/webdriver.py", line 111, in get_reservations

  driver.click(".login-button--box")

File "/app/.local/lib/python3.12/site-packages/seleniumbase/core/sb_driver.py", line 75, in click

  page_actions.click(self.driver, *args, **kwargs)

File "/app/.local/lib/python3.12/site-packages/seleniumbase/fixtures/page_actions.py", line 1598, in click

  element.click()

File "/app/.local/lib/python3.12/site-packages/selenium/webdriver/remote/webelement.py", line 94, in click

  self._execute(Command.CLICK_ELEMENT)

File "/app/.local/lib/python3.12/site-packages/selenium/webdriver/remote/webelement.py", line 395, in _execute

  return self._parent.execute(command, params)

         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/app/.local/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 384, in execute

  self.error_handler.check_response(response)

File "/app/.local/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 232, 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 (334, 29). Other element would receive the click: <div class="backdrop visible active"></div>

(Session info: chrome=119.0.6045.159)

@byalextran
Copy link

byalextran commented Jan 25, 2025

i upgraded to 8.2 and my latest check-in failed with a 403. downgraded to 8.1 worked fine. was able to reproduce by upgrading/downgrading a second time (8.2 failed again, 8.1 succeeded). between switching versions, i did a pip install -r requirements.txt.

View error log
2025-01-24 19:48:10 DEBUG MainProcess[log:24]: Initialized the application
2025-01-24 19:48:10 DEBUG MainProcess[main:116]: Auto-Southwest Check-In v8.2
2025-01-24 19:48:10 DEBUG MainProcess[main:70]: Called with 3 arguments
2025-01-24 19:48:10 DEBUG MainProcess[config:143]: Initializing configuration file
2025-01-24 19:48:10 DEBUG MainProcess[config:172]: Reading the configuration file
2025-01-24 19:48:10 DEBUG MainProcess[config:185]: Reading configuration from environment variables
2025-01-24 19:48:10 DEBUG MainProcess[config:73]: Setting check fares to <CheckFaresOption.NO: 'no'>
2025-01-24 19:48:10 DEBUG MainProcess[config:85]: Setting retrieval interval to 24 hours
2025-01-24 19:48:10 DEBUG MainProcess[config:120]: Setting notification level to <NotificationLevel.NOTICE: 1>
2025-01-24 19:48:10 DEBUG MainProcess[config:133]: Using 0 notification services
2025-01-24 19:48:10 DEBUG MainProcess[config:155]: Creating configurations for 0 accounts
2025-01-24 19:48:10 DEBUG MainProcess[config:162]: Creating configurations for 0 reservations
2025-01-24 19:48:10 DEBUG MainProcess[main:83]: Adding reservation through CLI arguments
2025-01-24 19:48:10 DEBUG MainProcess[config:162]: Creating configurations for 1 reservations
2025-01-24 19:48:10 INFO MainProcess[main:96]: Monitoring 0 accounts and 1 reservation

2025-01-24 19:48:10 DEBUG Process-1[reservation_monitor:68]: Acquiring lock...
2025-01-24 19:48:10 DEBUG Process-1[reservation_monitor:70]: Lock acquired
2025-01-24 19:48:10 DEBUG Process-1[checkin_scheduler:48]: Refreshing headers for current session
2025-01-24 19:48:10 DEBUG Process-1[webdriver:131]: Starting webdriver for current session
2025-01-24 19:48:12 DEBUG Process-1[webdriver:154]: Using browser version: 132.0.6834.111
2025-01-24 19:48:12 DEBUG Process-1[webdriver:158]: Loading Southwest check-in page (this may take a moment)
2025-01-24 19:48:15 DEBUG Process-1[webdriver:89]: Waiting for valid headers
2025-01-24 19:48:15 DEBUG Process-1[webdriver:188]: Waiting for headers_set to be set (timeout: 180 seconds)
2025-01-24 19:48:15 DEBUG Process-1[webdriver:202]: headers_set set successfully
2025-01-24 19:48:16 DEBUG Process-1[reservation_monitor:110]: Scheduling flight check-ins for 1 reservations
2025-01-24 19:48:16 DEBUG Process-1[checkin_scheduler:81]: Retrieving reservation information
2025-01-24 19:48:16 DEBUG Process-1[utils:90]: Request error on attempt 1: Forbidden (403). Sleeping for 1.21 seconds until next attempt
2025-01-24 19:48:17 DEBUG Process-1[utils:90]: Request error on attempt 2: Forbidden (403). Sleeping for 1.10 seconds until next attempt
2025-01-24 19:48:19 DEBUG Process-1[utils:90]: Request error on attempt 3: Forbidden (403). Sleeping for 2.38 seconds until next attempt
2025-01-24 19:48:21 DEBUG Process-1[utils:90]: Request error on attempt 4: Forbidden (403). Sleeping for 2.22 seconds until next attempt
2025-01-24 19:48:24 DEBUG Process-1[utils:90]: Request error on attempt 5: Forbidden (403). Sleeping for 1.08 seconds until next attempt
2025-01-24 19:48:25 DEBUG Process-1[utils:90]: Request error on attempt 6: Forbidden (403). Sleeping for 2.23 seconds until next attempt
2025-01-24 19:48:27 DEBUG Process-1[utils:90]: Request error on attempt 7: Forbidden (403). Sleeping for 1.96 seconds until next attempt
2025-01-24 19:48:29 DEBUG Process-1[utils:90]: Request error on attempt 8: Forbidden (403). Sleeping for 1.03 seconds until next attempt
2025-01-24 19:48:31 DEBUG Process-1[utils:90]: Request error on attempt 9: Forbidden (403). Sleeping for 2.37 seconds until next attempt
2025-01-24 19:48:33 DEBUG Process-1[utils:90]: Request error on attempt 10: Forbidden (403). Sleeping for 1.32 seconds until next attempt
2025-01-24 19:48:35 DEBUG Process-1[utils:90]: Request error on attempt 11: Forbidden (403). Sleeping for 1.55 seconds until next attempt
2025-01-24 19:48:36 DEBUG Process-1[utils:90]: Request error on attempt 12: Forbidden (403). Sleeping for 2.83 seconds until next attempt
2025-01-24 19:48:39 DEBUG Process-1[utils:90]: Request error on attempt 13: Forbidden (403). Sleeping for 1.71 seconds until next attempt
2025-01-24 19:48:41 DEBUG Process-1[utils:90]: Request error on attempt 14: Forbidden (403). Sleeping for 1.69 seconds until next attempt
2025-01-24 19:48:43 DEBUG Process-1[utils:90]: Request error on attempt 15: Forbidden (403). Sleeping for 1.76 seconds until next attempt
2025-01-24 19:48:45 DEBUG Process-1[utils:90]: Request error on attempt 16: Forbidden (403). Sleeping for 1.06 seconds until next attempt
2025-01-24 19:48:46 DEBUG Process-1[utils:90]: Request error on attempt 17: Forbidden (403). Sleeping for 2.85 seconds until next attempt
2025-01-24 19:48:49 DEBUG Process-1[utils:90]: Request error on attempt 18: Forbidden (403). Sleeping for 2.98 seconds until next attempt
2025-01-24 19:48:53 DEBUG Process-1[utils:90]: Request error on attempt 19: Forbidden (403). Sleeping for 1.76 seconds until next attempt
2025-01-24 19:48:55 DEBUG Process-1[utils:90]: Request error on attempt 20: Forbidden (403). Sleeping for 2.20 seconds until next attempt
2025-01-24 19:48:57 DEBUG Process-1[utils:98]: Failed to make request after 20 attempts: Forbidden (403)
2025-01-24 19:48:57 DEBUG Process-1[utils:99]: Response body: {
  "code": 403050700
}
2025-01-24 19:48:57 DEBUG Process-1[checkin_scheduler:87]: Failed to retrieve reservation info. Error: Forbidden (403). Exiting
2025-01-24 19:48:57 DEBUG Process-1[notification_handler:80]: Sending failed reservation retrieval notification...
Error: Failed to retrieve reservation for Alex Tran with confirmation number ######. Reason: Forbidden (403).
Make sure the reservation information is correct and try again.

2025-01-24 19:48:57 DEBUG Process-1[checkin_scheduler:56]: 0 flights found under current reservation
2025-01-24 19:48:57 DEBUG Process-1[checkin_scheduler:44]: 0 total flights were found
2025-01-24 19:48:57 DEBUG Process-1[checkin_scheduler:111]: Updating scheduled flights (0 scheduled, 0 found)
2025-01-24 19:48:57 DEBUG Process-1[checkin_scheduler:125]: 0 new flights found
2025-01-24 19:48:57 DEBUG Process-1[checkin_scheduler:131]: Scheduling 0 flights for check-in
2025-01-24 19:48:57 DEBUG Process-1[checkin_scheduler:143]: 0 flights are currently scheduled. Removing old flights
2025-01-24 19:48:57 DEBUG Process-1[checkin_scheduler:164]: Successfully removed old flights. 0 flights are now scheduled
2025-01-24 19:48:57 DEBUG Process-1[reservation_monitor:103]: No more flights are scheduled for check-in. Exiting...
2025-01-24 19:48:57 DEBUG Process-1[reservation_monitor:74]: Stopping monitoring

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