|
|
|
@ -1,49 +1,51 @@ |
|
|
|
local err |
|
|
|
print("BEFORE JSON LOADING payload: " .. json_payload) |
|
|
|
local json = require("json") |
|
|
|
print("AFTER JSON LOADING") |
|
|
|
-- Parse the JSON string |
|
|
|
local obj, err = json.decode(json_payload) |
|
|
|
|
|
|
|
print("Cuit:" .. obj["cuit"]) |
|
|
|
print("Password:" .. obj["password"]) |
|
|
|
log("Cuit:" .. obj["cuit"]) |
|
|
|
|
|
|
|
cuit = obj["cuit"] |
|
|
|
password = obj["password"] |
|
|
|
|
|
|
|
print("Iniciando login AFIP") |
|
|
|
log("Iniciando login AFIP") |
|
|
|
err = navigate("https://auth.afip.gob.ar/contribuyente_/login.xhtml") |
|
|
|
if err then |
|
|
|
print(err) |
|
|
|
return |
|
|
|
message = "Error navigating to login page: " .. err |
|
|
|
log(message) |
|
|
|
error(message) |
|
|
|
end |
|
|
|
|
|
|
|
err = waitVisibleByQuerySelector("input[name='F1:username']") |
|
|
|
if err then |
|
|
|
print(err) |
|
|
|
return |
|
|
|
message = "Error waiting for username field: " .. err |
|
|
|
log(message) |
|
|
|
error(message) |
|
|
|
end |
|
|
|
|
|
|
|
err = setTextFieldByQuerySelector("input[name='F1:username']", "") |
|
|
|
if err then |
|
|
|
print(err) |
|
|
|
return |
|
|
|
message = "Error setting username field: " .. err |
|
|
|
log(message) |
|
|
|
error(message) |
|
|
|
end |
|
|
|
|
|
|
|
waitSecs(2) |
|
|
|
|
|
|
|
err = inputTextFieldByQuerySelector("input[name='F1:username']", cuit) |
|
|
|
if err then |
|
|
|
print(err) |
|
|
|
return |
|
|
|
message = "Error inputting username: " .. err |
|
|
|
log(message) |
|
|
|
error(message) |
|
|
|
end |
|
|
|
|
|
|
|
waitSecs(2) |
|
|
|
|
|
|
|
err = clickElementByQuerySelector("input[id=\"F1:btnSiguiente\"]") |
|
|
|
if err then |
|
|
|
print(err) |
|
|
|
return |
|
|
|
message = "Error clicking next button: " .. err |
|
|
|
log(message) |
|
|
|
error(message) |
|
|
|
end |
|
|
|
|
|
|
|
local error_on_page |
|
|
|
@ -55,12 +57,15 @@ js_script = [[ |
|
|
|
|
|
|
|
error_on_page, err = evaluateJsWithStringOutput(js_script) |
|
|
|
if err then |
|
|
|
print(err) |
|
|
|
return |
|
|
|
message = "Error evaluating JS: " .. err |
|
|
|
log(message) |
|
|
|
error(message) |
|
|
|
end |
|
|
|
|
|
|
|
if error_on_page ~= "" then |
|
|
|
print("Error on page:" .. error_on_page) |
|
|
|
message = "Error on page: " .. error_on_page |
|
|
|
log(message) |
|
|
|
error(message) |
|
|
|
return |
|
|
|
end |
|
|
|
|
|
|
|
@ -68,44 +73,65 @@ waitSecs(2) |
|
|
|
|
|
|
|
err = waitVisibleByQuerySelector("input[name='F1:password']") |
|
|
|
if err then |
|
|
|
print(err) |
|
|
|
return |
|
|
|
message = "Error waiting for password field: " .. err |
|
|
|
log(message) |
|
|
|
error(message) |
|
|
|
end |
|
|
|
|
|
|
|
err = inputTextFieldByQuerySelector("input[name='F1:password']", password) |
|
|
|
if err then |
|
|
|
print(err) |
|
|
|
return |
|
|
|
message = "Error inputting password: " .. err |
|
|
|
log(message) |
|
|
|
error(message) |
|
|
|
end |
|
|
|
|
|
|
|
err = clickElementByQuerySelector("input[id=\"F1:btnIngresar\"]") |
|
|
|
if err then |
|
|
|
print(err) |
|
|
|
return |
|
|
|
message = "Error clicking login button: " .. err |
|
|
|
log(message) |
|
|
|
error(message) |
|
|
|
end |
|
|
|
|
|
|
|
waitSecs(2) |
|
|
|
error_on_page, err = evaluateJsWithStringOutput(js_script) |
|
|
|
if err then |
|
|
|
print(err) |
|
|
|
return |
|
|
|
message = "Error evaluating JS: " .. err |
|
|
|
log(message) |
|
|
|
error(message) |
|
|
|
end |
|
|
|
|
|
|
|
print("Error on page:" .. error_on_page) |
|
|
|
if error_on_page:match("^%s*(.-)%s*$") ~= "" then |
|
|
|
print("Error on page:" .. error_on_page) |
|
|
|
return |
|
|
|
if error_on_page ~= "" then |
|
|
|
message = "Error on page: " .. error_on_page |
|
|
|
log(message) |
|
|
|
error(message) |
|
|
|
end |
|
|
|
|
|
|
|
current_url, err = getCurrentUrl() |
|
|
|
if err then |
|
|
|
print(err) |
|
|
|
return |
|
|
|
message = "Error getting current URL: " .. err |
|
|
|
log(message) |
|
|
|
error(message) |
|
|
|
end |
|
|
|
|
|
|
|
if string.match(current_url, "^https://auth%.afip%.gob%.ar/contribuyente_/login%.xhtml") then |
|
|
|
print("Unexpected URL after login: " .. current_url) |
|
|
|
return |
|
|
|
message = "Unexpected URL after login: " .. current_url |
|
|
|
log(message) |
|
|
|
error(message) |
|
|
|
end |
|
|
|
|
|
|
|
log("Login successful!") |
|
|
|
|
|
|
|
current_url, err = getCurrentUrl() |
|
|
|
if err then |
|
|
|
message = "Error getting current URL: " .. err |
|
|
|
log(message) |
|
|
|
error(message) |
|
|
|
end |
|
|
|
|
|
|
|
if string.match(current_url, "^https://auth%.afip%.gob%.ar/contribuyente_/login%.xhtml") then |
|
|
|
message = "Unexpected URL after login: " .. current_url |
|
|
|
log(message) |
|
|
|
error(message) |
|
|
|
end |
|
|
|
|
|
|
|
print("Login successful desde LUA!!") |
|
|
|
|