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

ElementClickInterceptedException when logging in (but not failing) #59

Closed
coltonwood opened this issue Mar 14, 2023 · 5 comments
Closed
Labels
bug Something isn't working

Comments

@coltonwood
Copy link

Description

I'm running Chrome v111 on an m1 Macbook Air. I cloned the repo, set up the config file, and ran the script. I noticed a selenium ElementClickInterceptedException, but it didn't seem to really break anything. Here is what showed in the console after running the script (names changed):

Process Process-1:
Traceback (most recent call last):
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/johndoe/Desktop/auto-southwest-check-in/lib/flight_retriever.py", line 64, in monitor_account
    flights = self._get_flights()
  File "/Users/johndoe/Desktop/auto-southwest-check-in/lib/flight_retriever.py", line 85, in _get_flights
    flights = webdriver.get_flights(self)
  File "/Users/johndoe/Desktop/auto-southwest-check-in/lib/webdriver.py", line 94, in get_flights
    WebDriverWait(driver, 30).until(
  File "/Users/johndoe/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/remote/webelement.py", line 93, in click
    self._execute(Command.CLICK_ELEMENT)
  File "/Users/johndoe/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/remote/webelement.py", line 403, in _execute
    return self._parent.execute(command, params)
  File "/Users/johndoe/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/remote/webdriver.py", line 440, in execute
    self.error_handler.check_response(response)
  File "/Users/johndoe/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/remote/errorhandler.py", line 245, 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 (1146, 27). Other element would receive the click: <div class="dimmer" data-qa="loading spinner">...</div>
  (Session info: chrome=111.0.5563.64)
Stacktrace:
0   6c449b3dfb737173_chromedriver       0x00000001009c2428 6c449b3dfb737173_chromedriver + 4899880
1   6c449b3dfb737173_chromedriver       0x000000010093fa23 6c449b3dfb737173_chromedriver + 4364835
2   6c449b3dfb737173_chromedriver       0x0000000100589bf6 6c449b3dfb737173_chromedriver + 474102
3   6c449b3dfb737173_chromedriver       0x00000001005d6d81 6c449b3dfb737173_chromedriver + 789889
4   6c449b3dfb737173_chromedriver       0x00000001005d3dde 6c449b3dfb737173_chromedriver + 777694
5   6c449b3dfb737173_chromedriver       0x00000001005d0a54 6c449b3dfb737173_chromedriver + 764500
6   6c449b3dfb737173_chromedriver       0x00000001005cf43f 6c449b3dfb737173_chromedriver + 758847
7   6c449b3dfb737173_chromedriver       0x00000001005bfcf3 6c449b3dfb737173_chromedriver + 695539
8   6c449b3dfb737173_chromedriver       0x00000001005f3562 6c449b3dfb737173_chromedriver + 906594
9   6c449b3dfb737173_chromedriver       0x00000001005bf361 6c449b3dfb737173_chromedriver + 693089
10  6c449b3dfb737173_chromedriver       0x00000001005f371e 6c449b3dfb737173_chromedriver + 907038
11  6c449b3dfb737173_chromedriver       0x000000010060eb5b 6c449b3dfb737173_chromedriver + 1018715
12  6c449b3dfb737173_chromedriver       0x00000001005f3333 6c449b3dfb737173_chromedriver + 906035
13  6c449b3dfb737173_chromedriver       0x00000001005bd55f 6c449b3dfb737173_chromedriver + 685407
14  6c449b3dfb737173_chromedriver       0x00000001005bea7e 6c449b3dfb737173_chromedriver + 690814
15  6c449b3dfb737173_chromedriver       0x000000010098f79e 6c449b3dfb737173_chromedriver + 4691870
16  6c449b3dfb737173_chromedriver       0x0000000100994961 6c449b3dfb737173_chromedriver + 4712801
17  6c449b3dfb737173_chromedriver       0x000000010099b2ff 6c449b3dfb737173_chromedriver + 4739839
18  6c449b3dfb737173_chromedriver       0x000000010099585a 6c449b3dfb737173_chromedriver + 4716634
19  6c449b3dfb737173_chromedriver       0x0000000100967fce 6c449b3dfb737173_chromedriver + 4530126
20  6c449b3dfb737173_chromedriver       0x00000001009b55c8 6c449b3dfb737173_chromedriver + 4847048
21  6c449b3dfb737173_chromedriver       0x00000001009b5747 6c449b3dfb737173_chromedriver + 4847431
22  6c449b3dfb737173_chromedriver       0x00000001009ca87f 6c449b3dfb737173_chromedriver + 4933759
23  libsystem_pthread.dylib             0x00007ff80b0c5259 _pthread_start + 125
24  libsystem_pthread.dylib             0x00007ff80b0c0c7b thread_start + 15

Successfully scheduled the following flights to check in for John Doe:
Flight from Dallas (Love Field) to Chicago (O’Hare-Terminal 5) at 2023-03-16 23:35:00 UTC
Flight from Chicago (O’Hare-Terminal 5) to Dallas (Love Field) at 2023-03-20 01:25:00 UTC

Successfully scheduled the following flights to check in for Jane Doe:
Flight from Dallas (Love Field) to Chicago (O’Hare-Terminal 5) at 2023-03-16 23:35:00 UTC
Flight from Chicago (O’Hare-Terminal 5) to Dallas (Love Field) at 2023-03-20 01:25:00 UTC

To Reproduce

  1. git clone https://github.com/jdholtz/auto-southwest-check-in.git
  2. cd auto-southwest-check-in
  3. python3 -m pip install -r requirements.txt
  4. python3 southwest.py --version
  5. cp config.example.json config.json (and add account and flight into to config)
  6. python3 southwest.py

Exception and stacktrace are logged on screen. Logs indicate script was successful.

Expected Behavior

I wouldn't expect to see a stacktrace or exception if the script was successful.

Version

Auto-Southwest Check-In v3.0

Additional context

Here is the auto-southwest-check-in.log:

2023-03-14 09:26:45 DEBUG MainProcess[log]: Initialized the application
2023-03-14 09:26:45 DEBUG MainProcess[main]: Called with 0 arguments
2023-03-14 09:26:46 DEBUG MainProcess[config]: Reading the configuration file
2023-03-14 09:26:46 DEBUG MainProcess[config]: Adding 1 accounts from configuration file
2023-03-14 09:26:46 DEBUG MainProcess[config]: Adding 2 flights from configuration file
2023-03-14 09:26:46 DEBUG MainProcess[config]: Setting notification level to 1
2023-03-14 09:26:46 DEBUG MainProcess[config]: Using 1 notification services
2023-03-14 09:26:46 DEBUG MainProcess[config]: Setting retrieval interval to 24 hours
2023-03-14 09:26:46 DEBUG MainProcess[main]: Monitoring 1 accounts and 2 flights
2023-03-14 09:26:46 DEBUG Process-1[flight_retriever]: Retrieving flights for account
2023-03-14 09:26:46 DEBUG Process-3[flight_retriever]: Scheduling reservations for 1 flights
2023-03-14 09:26:46 DEBUG Process-2[flight_retriever]: Scheduling reservations for 1 flights
2023-03-14 09:26:46 DEBUG Process-1[webdriver]: Starting webdriver for current session
2023-03-14 09:26:46 DEBUG Process-3[checkin_scheduler]: No headers set. Refreshing...
2023-03-14 09:26:46 DEBUG Process-2[checkin_scheduler]: No headers set. Refreshing...
2023-03-14 09:26:46 DEBUG Process-3[checkin_scheduler]: Refreshing headers for current session
2023-03-14 09:26:46 DEBUG Process-2[checkin_scheduler]: Refreshing headers for current session
2023-03-14 09:26:46 DEBUG Process-3[webdriver]: Starting webdriver for current session
2023-03-14 09:26:46 DEBUG Process-2[webdriver]: Starting webdriver for current session
2023-03-14 09:26:51 DEBUG Process-2[webdriver]: Loading Southwest Check-In page
2023-03-14 09:26:55 DEBUG Process-1[webdriver]: Loading Southwest Check-In page
2023-03-14 09:26:55 DEBUG Process-3[webdriver]: Loading Southwest Check-In page
2023-03-14 09:26:59 DEBUG Process-2[webdriver]: Filling out a check-in form to get valid headers
2023-03-14 09:27:02 DEBUG Process-1[webdriver]: Logging into Southwest account to get scheduled flights and valid headers
2023-03-14 09:27:03 DEBUG Process-3[webdriver]: Filling out a check-in form to get valid headers
2023-03-14 09:27:12 DEBUG Process-2[webdriver]: Setting valid headers from previous request
2023-03-14 09:27:12 DEBUG Process-2[checkin_scheduler]: Retrieving reservation info from confirmation number
2023-03-14 09:27:13 DEBUG Process-2[checkin_scheduler]: Successfully retrieved reservation info
2023-03-14 09:27:13 DEBUG Process-2[checkin_scheduler]: 2 flights found under current reservation
2023-03-14 09:27:13 DEBUG Process-2[checkin_scheduler]: New flight found. Handling check-in
2023-03-14 09:27:13 DEBUG Process-2[checkin_handler]: Scheduling check-in for current flight
2023-03-14 09:27:13 DEBUG Process-2[checkin_scheduler]: New flight found. Handling check-in
2023-03-14 09:27:13 DEBUG Process-2[checkin_handler]: Scheduling check-in for current flight
2023-03-14 09:27:13 DEBUG Process-2[notification_handler]: Sending new flights notification
2023-03-14 09:27:14 DEBUG Process-2:1[checkin_handler]: Sleeping until ten minutes before check-in...
2023-03-14 09:27:14 DEBUG Process-2:2[checkin_handler]: Sleeping until ten minutes before check-in...
2023-03-14 09:27:15 DEBUG Process-3[webdriver]: Setting valid headers from previous request
2023-03-14 09:27:15 DEBUG Process-3[checkin_scheduler]: Retrieving reservation info from confirmation number
2023-03-14 09:27:17 DEBUG Process-3[checkin_scheduler]: Successfully retrieved reservation info
2023-03-14 09:27:17 DEBUG Process-3[checkin_scheduler]: 2 flights found under current reservation
2023-03-14 09:27:17 DEBUG Process-3[checkin_scheduler]: New flight found. Handling check-in
2023-03-14 09:27:17 DEBUG Process-3[checkin_handler]: Scheduling check-in for current flight
2023-03-14 09:27:17 DEBUG Process-3[checkin_scheduler]: New flight found. Handling check-in
2023-03-14 09:27:17 DEBUG Process-3[checkin_handler]: Scheduling check-in for current flight
2023-03-14 09:27:17 DEBUG Process-3[notification_handler]: Sending new flights notification
2023-03-14 09:27:18 DEBUG Process-3:2[checkin_handler]: Sleeping until ten minutes before check-in...
2023-03-14 09:27:18 DEBUG Process-3:1[checkin_handler]: Sleeping until ten minutes before check-in...
@coltonwood coltonwood added the bug Something isn't working label Mar 14, 2023
@schmeed
Copy link

schmeed commented Mar 14, 2023

At this point you don't know if the script is successful as it isn't time yet for the actual check-in procedure to run. It may yet fail. There is another thread with issues running on ARM architecture. #27

@jdholtz
Copy link
Owner

jdholtz commented Mar 15, 2023

Thanks for reporting this. #1 actually fixed this issue, but I accidentally removed it while fixing another issue. I added back the changes onto the click-intercepted-fix branch. Could you give that branch a try to see if it fixes the issue? You can move to the branch by doing git pull && git checkout click-intercepted-fix.

@coltonwood
Copy link
Author

Thanks for reporting this. #1 actually fixed this issue, but I accidentally removed it while fixing another issue. I added back the changes onto the click-intercepted-fix branch. Could you give that branch a try to see if it fixes the issue? You can move to the branch by doing git pull && git checkout click-intercepted-fix.

Thanks for that -- that seems to have fixed the exception and now I'm getting a different error:
image

I believe it's just the same issue as #58, so feel free to close this one out. I'm going to try to downgrade to Chrome 109.

@jdholtz
Copy link
Owner

jdholtz commented Mar 15, 2023

That issue might not be related to #58 because you got a status code 400 instead of 429. The script could fail to log in randomly (this happens very rarely though). I haven’t added a safeguard to that yet. Does the error happen repeatedly?

@coltonwood
Copy link
Author

Oh, interesting.. I missed that it was a different 400. I re-ran it several times and got the 400. But of course when I re-ran it just now I actually got the 429.

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