|
|
@ -44,6 +44,47 @@ local function logErrorAndExit(message) |
|
|
error(message) |
|
|
error(message) |
|
|
end |
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
-- Select empresa en el caso de que si se haya definido el nombre de la empresa, debe matchear con el nombre de la empresa exactamente |
|
|
|
|
|
local function selectEmpresa(nombre_empresa) |
|
|
|
|
|
log("afip_seleccionar_empresa:selectEmpresa nombre_empresa is " .. nombre_empresa) |
|
|
|
|
|
-------------------------------------------------------------------- |
|
|
|
|
|
-- 3) Esperar a que el input de la empresa esté visible |
|
|
|
|
|
-------------------------------------------------------------------- |
|
|
|
|
|
local selector = "input[value=\"" .. nombre_empresa .. "\"]" |
|
|
|
|
|
|
|
|
|
|
|
err = waitVisibleByQuerySelector(selector) |
|
|
|
|
|
if err then |
|
|
|
|
|
logErrorAndExit("afip_seleccionar_empresa:selectEmpresa error waiting for selector '" .. selector .. "': " .. tostring(err)) |
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------- |
|
|
|
|
|
-- 4) Clickear el elemento |
|
|
|
|
|
-------------------------------------------------------------------- |
|
|
|
|
|
err = clickElementByQuerySelector(selector) |
|
|
|
|
|
if err then |
|
|
|
|
|
logErrorAndExit("afip_seleccionar_empresa:selectEmpresa error clicking selector '" .. selector .. "': " .. tostring(err)) |
|
|
|
|
|
end |
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
-- Select empresa en el caso de que no se haya definido el nombre de la empresa elegimos el primer boton |
|
|
|
|
|
local function selectEmpresaUnica() |
|
|
|
|
|
log("afip_seleccionar_empresa:selectEmpresaUnica") |
|
|
|
|
|
local selector = "input.btn_empresa[type='button']" |
|
|
|
|
|
|
|
|
|
|
|
err = waitVisibleByQuerySelector(selector) |
|
|
|
|
|
if err then |
|
|
|
|
|
logErrorAndExit("afip_seleccionar_empresa:selectEmpresaUnica error waiting for selector '" .. selector .. "': " .. tostring(err)) |
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------- |
|
|
|
|
|
-- 4) Clickear el elemento |
|
|
|
|
|
-------------------------------------------------------------------- |
|
|
|
|
|
err = clickElementByQuerySelector(selector) |
|
|
|
|
|
if err then |
|
|
|
|
|
logErrorAndExit("afip_seleccionar_empresa:selectEmpresaUnica error clicking selector '" .. selector .. "': " .. tostring(err)) |
|
|
|
|
|
end |
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
---------------------------------------------------------------------- |
|
|
---------------------------------------------------------------------- |
|
|
-- Main logic |
|
|
-- Main logic |
|
|
---------------------------------------------------------------------- |
|
|
---------------------------------------------------------------------- |
|
|
@ -52,7 +93,6 @@ local function main() |
|
|
local json = require("json") |
|
|
local json = require("json") |
|
|
local payload, err = json.decode(json_payload) |
|
|
local payload, err = json.decode(json_payload) |
|
|
|
|
|
|
|
|
local nombre_empresa = payload["execution_request"]["credentials"]["nombre_empresa"] |
|
|
|
|
|
-------------------------------------------------------------------- |
|
|
-------------------------------------------------------------------- |
|
|
-- 1) Navegar a la página de selección de empresa |
|
|
-- 1) Navegar a la página de selección de empresa |
|
|
-------------------------------------------------------------------- |
|
|
-------------------------------------------------------------------- |
|
|
@ -66,22 +106,12 @@ local function main() |
|
|
-------------------------------------------------------------------- |
|
|
-------------------------------------------------------------------- |
|
|
waitSecs(5) |
|
|
waitSecs(5) |
|
|
|
|
|
|
|
|
-------------------------------------------------------------------- |
|
|
local nombre_empresa = payload["execution_request"]["credentials"]["nombre_empresa"] |
|
|
-- 3) Esperar a que el input de la empresa esté visible |
|
|
|
|
|
-------------------------------------------------------------------- |
|
|
|
|
|
local selector = "input[value=\"" .. nombre_empresa .. "\"]" |
|
|
|
|
|
|
|
|
|
|
|
err = waitVisibleByQuerySelector(selector) |
|
|
|
|
|
if err then |
|
|
|
|
|
logErrorAndExit("afip_seleccionar_empresa: error waiting for selector '" .. selector .. "': " .. tostring(err)) |
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------- |
|
|
if not nombre_empresa or nombre_empresa == "" then |
|
|
-- 4) Clickear el elemento |
|
|
selectEmpresaUnica() |
|
|
-------------------------------------------------------------------- |
|
|
else |
|
|
err = clickElementByQuerySelector(selector) |
|
|
selectEmpresa(nombre_empresa) |
|
|
if err then |
|
|
|
|
|
logErrorAndExit("afip_seleccionar_empresa: error clicking selector '" .. selector .. "': " .. tostring(err)) |
|
|
|
|
|
end |
|
|
end |
|
|
|
|
|
|
|
|
-------------------------------------------------------------------- |
|
|
-------------------------------------------------------------------- |
|
|
|