Comments (23)
@breakertt what is the fix for the user-agent?
See #9
from visa_rescheduler.
Deprecated lines were replaced + I replaced the DAYS_IN_COUNTRY
(non-existing variable) with FACILITY_ID
:
data = {
"utf8": driver.find_element(by=By.NAME, value='utf8').get_attribute('value'),
"authenticity_token": driver.find_element(by=By.NAME, value='authenticity_token').get_attribute('value'),
"confirmed_limit_message": driver.find_element(by=By.NAME, value='confirmed_limit_message').get_attribute('value'),
"use_consulate_appointment_capacity": driver.find_element(by=By.NAME, value='use_consulate_appointment_capacity').get_attribute('value'),
"appointments[consulate_appointment][facility_id]": FACILITY_ID,
"appointments[consulate_appointment][date]": date,
"appointments[consulate_appointment][time]": time,
}
And still.... automatic rescheduling is failing. Does anyone figure it out?
EDIT: I'm testing the User-Agent as mentioned in #9, I'll update soon.
EDIT2: it's working.
NOTE: if you are using a different displaying language, you need to change the strings at this line:
if(r.text.find('Successfully Scheduled') != -1):
replace Successfully Scheduled with your correct string for your language, and the if statement will work.
NOTE2: this is only for the send_notification function, this will not affect the automatic rescheduling!
from visa_rescheduler.
It is totally valid if one gets time successfully but fails in rescheduling. There is no guarantee that one can reschedule if one gets the time. Just imagine someonelse's bot is much faster than you.
Maybe not the case, because the opening was still available after the reschedule failed. Perhaps because it failed the first time and it doesn't retry after that.
See #7 (comment)
from visa_rescheduler.
To elaborate on what @patelakash317 mentioned, I believe what's happening right now is that the program is fetching a bunch of available dates but there's no time slot associated with them (get_time
returns None
), so the reschedule fails. Even if you were to go on your portal and select those dates manually, you wouldn't be able to see any time slots (the dropdown menu is empty). I'm not sure why those dates are available on the portal even though they're already taken. Or perhaps they're available but since we're using this script to query constantly, the website somehow prevents us from accessing them. Currently, on my portal, I can view at least 18 available dates before my current appointment date but they all have no timeslots associated with them so I can't reschedule.
I would appreciate it if anyone has any insight on this.
EDIT: It seems like the issue I mentioned was a one-time thing that resolved itself after a day. Apparently, some other people also saw a lot of dates with no times associated with them on that same day, so it was most likely a bug on the website itself. It hasn't happened to me again since then. I can also attest to the fact that the script still works. I was able to move my appointment all the way from May 2024 to April 2023 after running it constantly for about a week. Thanks for the creating the script.
from visa_rescheduler.
managed to get the script to work with 20 second intervals, the location im looking at is in high demand. however, the automated rescheduling isnt working and i have to manually select after an appointment has been found. has anyone fixed it?
I have the same problem as you, and my location is also London. It always shows "reschedule fails". May I ask whether you have fixed that?
from visa_rescheduler.
Same here for another country. Found interval only once, but:
Starting Reschedule (2022-08-23)
Got time successfully! 2022-08-23 08:35
c:\Users\XXX\Documents\visa_rescheduler-main\visa.py:173: DeprecationWarning: find_element_by_name is deprecated. Please use find_element(by=By.NAME, value=name) instead
"utf8": driver.find_element_by_name('utf8').get_attribute('value'),
c:\Users\XXX\Documents\visa_rescheduler-main\visa.py:174: DeprecationWarning: find_element_by_name is deprecated. Please use find_element(by=By.NAME, value=name) instead
"authenticity_token": driver.find_element_by_name('authenticity_token').get_attribute('value'),
c:\Users\XXX\Documents\visa_rescheduler-main\visa.py:175: DeprecationWarning: find_element_by_name is deprecated. Please use find_element(by=By.NAME, value=name) instead
"confirmed_limit_message": driver.find_element_by_name('confirmed_limit_message').get_attribute('value'),
c:\Users\XXX\Documents\visa_rescheduler-main\visa.py:176: DeprecationWarning: find_element_by_name is deprecated. Please use find_element(by=By.NAME, value=name) instead
"use_consulate_appointment_capacity": driver.find_element_by_name('use_consulate_appointment_capacity').get_attribute('value'),
Sending notification: Reschedule Failed. 2022-08-23 08:35
Sending notification: date: 2022-08-23;
May it fail because of deprecated parts in a code?
from visa_rescheduler.
Same here for another country. Found interval only once, but:
Starting Reschedule (2022-08-23) Got time successfully! 2022-08-23 08:35 c:\Users\XXX\Documents\visa_rescheduler-main\visa.py:173: DeprecationWarning: find_element_by_name is deprecated. Please use find_element(by=By.NAME, value=name) instead "utf8": driver.find_element_by_name('utf8').get_attribute('value'), c:\Users\XXX\Documents\visa_rescheduler-main\visa.py:174: DeprecationWarning: find_element_by_name is deprecated. Please use find_element(by=By.NAME, value=name) instead "authenticity_token": driver.find_element_by_name('authenticity_token').get_attribute('value'), c:\Users\XXX\Documents\visa_rescheduler-main\visa.py:175: DeprecationWarning: find_element_by_name is deprecated. Please use find_element(by=By.NAME, value=name) instead "confirmed_limit_message": driver.find_element_by_name('confirmed_limit_message').get_attribute('value'), c:\Users\XXX\Documents\visa_rescheduler-main\visa.py:176: DeprecationWarning: find_element_by_name is deprecated. Please use find_element(by=By.NAME, value=name) instead "use_consulate_appointment_capacity": driver.find_element_by_name('use_consulate_appointment_capacity').get_attribute('value'), Sending notification: Reschedule Failed. 2022-08-23 08:35 Sending notification: date: 2022-08-23;
May it fail because of deprecated parts in a code?
I correct this code according to the suggestion. And it still didn’t work.
from visa_rescheduler.
yeah if i happen to be there while it fails i can try to click it manually, ive missed 2 slots because of this :-( anyone fixed it yet?
from visa_rescheduler.
I`m trying to catch a slot with HTTPConnection.debuglevel = 1
from visa_rescheduler.
ive also solved for the deprecated code and it even says reschedule successful. but still doesnt work.
from visa_rescheduler.
seems to be fixed in #8
from visa_rescheduler.
Dont think so. It didnt work with DAYS_IN_COUNTRY, why it should after renaming of some variables? But anyway still no free slots in my case.
from visa_rescheduler.
@firemover see the code diff
from visa_rescheduler.
I saw, it was wrong variable name and deprecated lines were replaced. But even with it, data
construction has not been changed.
Lets wait for someone who can catch the slot and check it.
from visa_rescheduler.
I had an available date, and it didn't work using the code in #8
2022-07-21 08:31:33.272714
Retry count: 41
Available dates:
2023-08-17 business_day: True
Checking for an earlier date:
Is 2023-10-22 00:00:00 > 2023-08-17 00:00:00: True
New date: 2023-08-17
Starting Reschedule (2023-08-17)
Got time successfully! 2023-08-17 09:00
Sending notification: Reschedule Failed. 2023-08-17 09:00
from visa_rescheduler.
I had an available date, and it didn't work using the code in #8
2022-07-21 08:31:33.272714 Retry count: 41 Available dates: 2023-08-17 business_day: True Checking for an earlier date: Is 2023-10-22 00:00:00 > 2023-08-17 00:00:00: True New date: 2023-08-17 Starting Reschedule (2023-08-17) Got time successfully! 2023-08-17 09:00 Sending notification: Reschedule Failed. 2023-08-17 09:00
It is totally valid if one gets time successfully but fails in rescheduling. There is no guarantee that one can reschedule if one gets the time. Just imagine someonelse's bot is much faster than you.
from visa_rescheduler.
I saw, it was wrong variable name and deprecated lines were replaced. But even with it,
data
construction has not been changed.Lets wait for someone who can catch the slot and check it.
my fault, should be the problem of user-agent.
from visa_rescheduler.
It is totally valid if one gets time successfully but fails in rescheduling. There is no guarantee that one can reschedule if one gets the time. Just imagine someonelse's bot is much faster than you.
Maybe not the case, because the opening was still available after the reschedule failed. Perhaps because it failed the first time and it doesn't retry after that.
from visa_rescheduler.
@breakertt what is the fix for the user-agent?
from visa_rescheduler.
Automatic Rescheduling worked for me with #9
from visa_rescheduler.
thanks all!
waiting to test #9 with an early date
changed these lines too
data = {
"utf8": driver.find_element(By.name,'utf8').text,
"authenticity_token":driver.find_element(By.name,'authenticity_token').text,
"confirmed_limit_message":driver.find_element(by.name,'confirmed_limit_message').text, "use_consulate_appointment_capacity":driver.find_element(by.name,'use_consulate_appointment_capacity').text,
from visa_rescheduler.
I had the same issue today and submitted a fix for it #11
from visa_rescheduler.
It is again failing, I have got the appointment for 18 April 2023 but it not rescheduled.
from visa_rescheduler.
Related Issues (20)
- doest this work when you have to schedule your biometric too?
- Does it work for family appointment mode? HOT 2
- got time successfully but no change HOT 9
- Both ASC and Consulate? HOT 1
- Not showing any dates HOT 1
- How to verify the rescheduling funciton without having to reschedule?
- Is there a maximum limit on how many times one can reschedule their appointment? HOT 8
- Creating Group Appointments
- DATE_URL got 404 error page HOT 1
- List is empty, Probabely banned!
- Getting error after login in chrome
- Automatic rescheduling fails after finding available date.
- ERROR HOT 1
- Exception occurred: Message: no such element: Unable to locate element HOT 6
- Group Booking- H1 & H4?
- Only get the latest time not actually update the application HOT 1
- License HOT 1
- Failed to schedule
- SELENIUM WEB DRIVER EXCEPTION: CAN NOT CONNECT TO THE SERVICE
- r
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from visa_rescheduler.