-
Notifications
You must be signed in to change notification settings - Fork 3
/
blsspainvisa-auto-filler.user.js
90 lines (83 loc) · 4.21 KB
/
blsspainvisa-auto-filler.user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
// ==UserScript==
// @name BLS Spain Visa Auto Filler
// @namespace https://hexpy.fyi
// @version 2024-02-04
// @description This tampermonkey script makes it easy as a breeze to finally get an appointment for a visa to spain
// @author @hExPY
// @match https://*.blsspainvisa.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=blsspainvisa.com
// @grant none
// @downloadURL https://raw.githubusercontent.com/hExPY/blsspainvisa-auto-filler/main/blsspainvisa-auto-filler.user.js
// @updateURL https://raw.githubusercontent.com/hExPY/blsspainvisa-auto-filler/main/blsspainvisa-auto-filler.user.js
// ==/UserScript==
// ### ------- Value lookup on the embassy page ------- ###
// Depending on the country you're residing, some values
// may change. You have to open up the embassy page of your
// residing country and use your browsers dev tools to
// find the matching values. As an example, in Ecuador
// field "VisaTypeId" is "167" for "Short Term Visa".
// ### ------- Value lookup on the embassy page ------- ###
// All personal related data -> REPLACE EVERY FIELD
const phoneCountryCode = "000" // Enter your phone country code
const phoneNumber = "00000000" // Enter your phone number
const emailAddress = "my@email.address" // Enter your email address
const visaTypeId = "000" // See section "Value lookup on the embassy page"
const firstNames = "MY FIRST NAMES" // Enter your first names in capital letters
const lastNames = "MY LAST NAMES" // Enter your last names in capital letters
const dateOfBirth = "2024-12-31" // Enter your date of birth in YEAR-MONTH-DAY (YYYY-MM-DD)
const nationalityId = "00" // See section "Value lookup on the embassy page"
const passportType = "00" // See section "Value lookup on the embassy page"
const passportNumber = "X9999999" // Enter your passport ID (Read from your passport)
const passportIssueDate = "2024-12-31" // Enter the date when the passport has been issued in YEAR-MONTH-DAY (YYYY-MM-DD) (Read from your passport)
const passportExpiryDate = "2024-12-31" // Enter the date when the passport has been expired in YEAR-MONTH-DAY (YYYY-MM-DD) (Read from your passport)
const passportIssuePalace = "COUNTRY" // Enter the country where the passport has been issued (Read from your passport)
// The following two datasets are used to map the field ID (you can find the ID using your browsers dev tools) and "to-be-filled" data
/// The format is the following [["FIELD_ID_1", "FIELD_VALUE_1"], ["FIELD_ID_2", "FIELD_VALUE_2], ...]
//// This dataset will be used to request the code "Impreso de Solicitud de Cita"
const generalDataParaIniciarLaCita = [
["phone_code", phoneCountryCode],
["phone", phoneNumber],
["email", emailAddress]
]
//// This dataset will be used to pre-fill all fields on the page where you choose your desired appointment date
const personalDataParaLaCita = [
["VisaTypeId", visaTypeId],
["first_name", firstNames],
["last_name", lastNames],
["dateOfBirth", dateOfBirth],
["phone_code", phoneCountryCode],
["phone", phoneNumber],
["nationalityId", nationalityId],
["passportType", passportType],
["passport_no", passportNumber],
["pptIssueDate", passportIssueDate],
["pptExpiryDate", passportExpiryDate],
["pptIssuePalace", passportIssuePalace]
]
const autofillForms = (formMap) => {
formMap.map((field) => {
const [fieldId, fieldValue] = field;
try {
const fieldObject = document.getElementById(fieldId)
fieldObject.value = fieldValue;
console.log(`changed ${fieldId} to ${fieldValue}`)
} catch (e) {
console.log(e)
alert("something went wrong while filling, please check console!")
}
})
}
(function() {
'use strict';
if (document.getElementById("app_type1")) {
console.log("Filling Impreso de Solicitud de Cita...")
autofillForms(generalDataParaIniciarLaCita);
return;
}
if (document.getElementById("app_date")) {
console.log("Filling the page where you choose the date...")
autofillForms(personalDataParaLaCita);
return;
}
console.log("Neither Impreso de Solicitud de Cita or the page where you choose the date has been found. Exiting!")
})();